<SEC-DOCUMENT>0000924168-22-000023.txt : 20220317
<SEC-HEADER>0000924168-22-000023.hdr.sgml : 20220317
<ACCEPTANCE-DATETIME>20220317080308
ACCESSION NUMBER:		0000924168-22-000023
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		111
CONFORMED PERIOD OF REPORT:	20211231
FILED AS OF DATE:		20220317
DATE AS OF CHANGE:		20220317

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			ENERGY FOCUS, INC/DE
		CENTRAL INDEX KEY:			0000924168
		STANDARD INDUSTRIAL CLASSIFICATION:	ELECTRIC LIGHTING & WIRING EQUIPMENT [3640]
		IRS NUMBER:				943021850
		STATE OF INCORPORATION:			OH
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-36583
		FILM NUMBER:		22746822

	BUSINESS ADDRESS:	
		STREET 1:		32000 AURORA ROAD
		STREET 2:		SUITE B
		CITY:			SOLON
		STATE:			OH
		ZIP:			44139
		BUSINESS PHONE:		4407151300

	MAIL ADDRESS:	
		STREET 1:		32000 AURORA ROAD
		STREET 2:		SUITE B
		CITY:			SOLON
		STATE:			OH
		ZIP:			44139

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	FIBERSTARS INC /CA/
		DATE OF NAME CHANGE:	19940527
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>efoi-20211231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2022 Workiva--><!--r:13116448-71a2-4af8-9e91-d4c92f75b720,g:184c1f71-0180-45bd-bba3-700045272b27,d:0aac58884afd43c7af148e399624b8eb--><html xmlns:efoi="http://www.energyfocusinc.com/20211231" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>efoi-20211231</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV8zLTEtMS0xLTA_861a46ee-9ae3-43ff-962b-2c71b1421879">0000924168</ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV80LTEtMS0xLTA_98dbc4a7-39c0-4d32-9839-412e2614c36a">2021</ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV81LTEtMS0xLTA_f0da5c05-99ef-45a9-8459-8e34d33f86c1">FY</ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:AmendmentFlag" format="ixt:fixed-false" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV82LTEtMS0xLTA_6a2ce787-31f4-4ca7-887b-37911e072eae">FALSE</ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV83LTAtMS0xLTA_c38dafd4-5dcc-44f2-809b-3fea3ccdbd86">ENERGY FOCUS, INC/DE</ix:nonNumeric><ix:nonFraction unitRef="number" contextRef="iab55c9ddfbf9402794375053f04bf6d6_D20200611-20200611" decimals="INF" name="us-gaap:StockholdersEquityNoteStockSplitConversionRatio1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODc0L2ZyYWc6MzJlN2IwMDUwM2U4NGM5YmIxMjU4NDIxYWRmMWJhYmQvdGV4dHJlZ2lvbjozMmU3YjAwNTAzZTg0YzliYjEyNTg0MjFhZGYxYmFiZF8yNzQ4Nzc5MDY5NDgw_585adaae-12c1-41a8-857c-9e39b6ac219d">0.2</ix:nonFraction><ix:nonNumeric contextRef="i1c8d1606a0b54635845b6602cc900d7f_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDA5_a382e080-4adf-47d2-b9ae-c9ef896c4927">P2Y</ix:nonNumeric><ix:nonNumeric contextRef="i877ebdf9d9af4a11bcb87fcd0e945fec_D20210101-20211231" name="efoi:StandardProductWarrantyNumberofYears" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f2241f38-2999-4d07-a4c3-3f46b21079ae">P5Y</ix:nonNumeric><ix:nonNumeric contextRef="i04674e58b0b14cf5915e47948cc01120_D20210101-20211231" name="efoi:StandardProductWarrantyNumberofYears" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f99b5010-37ff-40ae-9fe5-83566fecd2e0">P5Y</ix:nonNumeric><ix:nonNumeric contextRef="ice3846147ce9423db3213acaebf98e4a_D20210101-20211231" name="efoi:StandardProductWarrantyNumberofYears" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1Mjk_fbbd22c1-2b2b-46a1-8c5e-8410f2bdbbb7">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="ib33883051e4946f8b1969f231753015f_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTY4_e102dd0f-9627-4c4e-9b7d-2411cb446505">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="i503a2e63e2254386855de34f02484867_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDc1_49d4c02d-9dbd-42f5-ad55-56f087c1ed05">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="i9506043790a7411eb586f638e58fde5b_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM1Mzc_8eee0c28-5471-4cde-b3a5-86abeeb1b29b">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="ifa72da35d76c4072bd7c10aefee57afc_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTQzMjU_2fa0f6e2-9267-4bc0-b4a7-1cbd6cb9c397">P1Y</ix:nonNumeric><ix:nonFraction unitRef="number" contextRef="iab55c9ddfbf9402794375053f04bf6d6_D20200611-20200611" decimals="INF" name="us-gaap:StockholdersEquityNoteStockSplitConversionRatio1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODY3L2ZyYWc6M2FmNWY5ZTgyNDk0NDRhMWE1MWY5NzQ0NjAzZDExZTYvdGV4dHJlZ2lvbjozYWY1ZjllODI0OTQ0NGExYTUxZjk3NDQ2MDNkMTFlNl8yNzQ4Nzc5MDY5NjM4_eeec9f73-9271-4309-be51-7c73cd2bb8da">0.2</ix:nonFraction></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="efoi-20211231.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2505d1231c054af68152871f25cdc3b6_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="id9af257477b045dca6a2ad843661d293_I20220314"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-03-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="i9f73e56b185c477d9990315664de9839_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i902bade71e834f7f9e25997670e249f2_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:context id="i38203ad2c81042c4b1b2fdb3f8f3a670_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id1ac25d149444ee287749c98e0efe20e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:PaycheckProtectionProgramCARESActMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iab55c9ddfbf9402794375053f04bf6d6_D20200611-20200611"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-06-11</xbrli:startDate><xbrli:endDate>2020-06-11</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="i8ef81b3ca36b41809c79c3c111f3456a_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icf7a14f576aa403e94247f76aa988127_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i340d2f1f76594807a4612967e77b7291_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib6e8961ff3f14e2b9b409b88df491ee2_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib7366f7047d14decbef4dfff758cf7bb_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3294dbcf1a9747dba52da6a9462883b6_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i72719563d6db4b70a95de40fd93ff04a_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie520b8b405e5481387ba54e5b500f9f4_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i87666b90c1c04d669f2fa874ee6b3f79_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic31fb516724d43d1baa73cedc622327c_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icfe60ea5641440fab5d2ba8a7f2645ad_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1cea56881a1c4785a365970521e4ea85_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4b0ef40e853240b8b95a961497447f9f_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i422747c982534d28a362d90cf69b7e63_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i882e9c4100b44768a47a2784cd216341_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idceb843113eb4a09bb5e73a319505fc7_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idaf1a359762d42a7947ac5132fa0fded_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id03c813faedc4eb9967f598bf8ea7631_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic01f4600ec4648a890468d6db78dea46_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0a0e1efc24584ca39b34989185b54eaf_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic14783271a45468f8a86cd80f079cf4f_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifbdf5c17ad2e4fab8e1954d40724373c_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8533402d2c1f449eb1b4847fd40069a5_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i235af9e1c854468da093d2b9cd1f5fcf_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4e01fb1d663d42b7b2a159a9b0386fa0_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i038a23f2db1b46c798a804a5f3b676e3_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:CreditFacilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie2817b214aa947fba6bab10126e1aafd_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:CreditFacilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic249ccc056a54e059981014f4c4ecdf6_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i799339feb3544dceb3651c859ca2431e_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7b7959442e0044c7bf32dc7c77a11824_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">us-gaap:WarrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaf95a417971c4d3c9fcaf6869f7c9de2_D20211216-20211216"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-12-16</xbrli:startDate><xbrli:endDate>2021-12-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-06-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4ac6002703434a738c92731a1f8c20a4_I20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9eb363c6d5c64b9cab13bd8c2ac85bb5_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0bc7e1aeb5a14658bf73734e7e6794b3_D20200101-20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3169c47cfb674c598921b21ae201beb2_I20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibd4491c4aa0242a08978313e98355d75_D20200101-20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i51fd134972bb49a29fb470ad962be792_I20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i22379ce6d882415580b9a3b1a8bb4ca4_D20200101-20200131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i22825782b9084bab96299f33f2d30063_D20211001-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8628db2e2b61425aaaf641132a92d948_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6d86f65a6e1049119ca2876d0ea6c6ad_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iea9fe4df11ca499a8ed5718af6f1e6ee_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie92b82ead9a141f68ef7e1ffd7d22e96_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1c8d1606a0b54635845b6602cc900d7f_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i131e048a20ad40778e3bce72ff3d1b56_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0407c3454dac466ca692bb5dc373440a_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:TwoCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia1f1d99e13ce4b0697ca14182754b38e_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i430f40cd8f324015a412199f2462e875_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:RegionalCommercialLightingRetrofitCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i059b76e018c940078a5686b2fb857398_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToUSNavyCombinedWithSalesToShipbuildersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7f0fe993784145da9226d0e3ffd78d90_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:TwoCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i750376cb794d4c869109479015bc1a33_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToUSNavyCombinedWithSalesToShipbuildersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iabe6066483d745a2bd8e4f16c03bf3b7_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSDepartmentOfDefenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia5de75883c284563a1fe3cb2a32a6e23_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id9434a3a42e644eca2f69a6961ae8ca6_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8b096b5651cb4df5b30716792f78998e_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie788230b50704df49443496aa5725919_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4f13a84e600a41808ea8c940ed89de00_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9c856b90ccdc4e89ad30b2395e7e5e37_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i13186d1aaba445bab2d696ef4e0223a1_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:DomesticSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifb7a33f31fd04106b33a21451801ada5_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i851a20cb6a754010b44d41cba9df3b6b_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3fbe33cd32d64414882b5052c8bd62be_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:WarrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i319c417e94584500bb7d1a95d51fd093_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i00ac08bc45774af7ad03fee20400dd3a_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i092a353c26434c8a888f1bd3a1182154_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:WarrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ice32535f03564e3d869fac3c20a1c3df_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i877ebdf9d9af4a11bcb87fcd0e945fec_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i04674e58b0b14cf5915e47948cc01120_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMLEDProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i700751e2c80249fdbe411f0a8747e874_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMLEDProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib47a6ee10bab469bbc27f70f2ce480f9_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ice3846147ce9423db3213acaebf98e4a_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:UVCDProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i800518c1883d4905a5552a07727bde63_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:UVCDProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1f183382bd22428686ea1fa5147a3e6f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie6d79369f8f64d7cba3d0cf5de8cfef7_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i747d342d210044ef81641e7032d98e51_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if144a899302d4dcc9da1823f257a72cf_D20210401-20210430"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i196a60521c374b1ea5e71538354bd9d1_I20200830"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-08-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="creditfacility"><xbrli:measure>efoi:creditFacility</xbrli:measure></xbrli:unit><xbrli:context id="ie36d68bd24994a9e9a48cb302763ddf6_I20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i934acbda7dce4fddb89c86f36d649885_D20201201-20201201"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-12-01</xbrli:startDate><xbrli:endDate>2020-12-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i04b49d9af60b4a0a9c54c1686dbdd119_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if5281ca33d254ea6b9e23dc243594e60_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idcee913e5d52496d95fb8ce3745843b9_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="icea611e5206a4ce78ce5ee2a8b2c13fd_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6ceeeb23d2d6497abef9745a8814bbf7_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id814784061ac4a46984cf3f29d9a438f_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6da946e795d64529bc7527c406643abb_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i770bea7c0bae458ba2a98bf0dbfe09e5_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i828edd52de644b00a33a5b9030584c28_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iaaf77b8a9a2e4947b75814bf3242bc10_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1a550296d7fc4121afc74313bee95cb2_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i118bc3bb13964ac4b9cea47abba4b282_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i356a742a941f45e9bc0f90a24c395a99_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i031edd6bc9404d78bacb8baf3cca4853_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i90eca37a50ac489eb820c95b38510276_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0d01182fd3b0465497d99db07a0a6d1c_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idc6c6b34a234420090941dcab81b2038_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i60afced28e3f497d8613e800ef100c20_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie9446ba647a3420b8f72b25fdc46b820_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia7d1fd0e3e6542f9a83b81c1e7e02054_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:RobotsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0ce591d99bf1425bb32dbc34f1364feb_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:RobotsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iad78534a538542d8bdc1491b840f56c5_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:RobotsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifc36b978a9b248a1855fffbee6b000e6_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3927acf6355a420ea1726db2feabe97c_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idaf6193742c24231b85ad8babc0de26d_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7bc6737d86504e67a275d08b8de258c3_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5e1b54f4de2e455b8122f9e0fcefd992_I20210420"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie8e84d2e1cca4d5fb6ff11993e3e0f78_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0043711a97a341c397ab0096699560a4_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if5cbdfeed99e46598f3f5d1461b11ab7_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i58f196ecff6b46eea4a57dec22f48cda_D20200811-20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-08-11</xbrli:startDate><xbrli:endDate>2020-08-11</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7a5e71e587f74bc4b89768f2c2db2f25_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iab91bc451ca94b2180935128724b06d5_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i67be18c3172a41a8847ae518d3a1cdd9_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4597721858924a03be6c0c147231d8ec_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">efoi:WallStreetJournalHighestPrimeRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1fede1b9f5c44ee4996d1809dea254bb_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">efoi:WallStreetJournalHighestPrimeRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9831e7a6aa584250a1fcd1383c52f824_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4db6a51dd4eb466c96b4891040f242ac_D20200811-20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-08-11</xbrli:startDate><xbrli:endDate>2020-08-11</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-08-11</xbrli:startDate><xbrli:endDate>2020-08-11</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i84bf5ea448374dcda80f3febd9ce79d8_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic9db06faf1024e7a9f0736ed8807b507_D20200811-20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-08-11</xbrli:startDate><xbrli:endDate>2020-08-11</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibe5ff5c5b9b74855ae743afcbd43e396_I20200811"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-08-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if964e91e61a049199762807497f4fe6d_I20210427"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-04-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id4197631807248e6a15b736ef527f10d_D20210427-20210427"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-27</xbrli:startDate><xbrli:endDate>2021-04-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ice26cbede5f042ffae76128fc6be5638_D20210427-20210427"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-27</xbrli:startDate><xbrli:endDate>2021-04-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i773fb6b2d0a9406daa2a2e9864b7b65f_D20210427-20210427"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-27</xbrli:startDate><xbrli:endDate>2021-04-27</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="deferral"><xbrli:measure>efoi:deferral</xbrli:measure></xbrli:unit><xbrli:context id="ib99d645c15c4437bad8769b7f7178def_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if96f463cbc104c67bd5c475b229d0070_D20200417-20200417"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:PaycheckProtectionProgramCARESActMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-17</xbrli:startDate><xbrli:endDate>2020-04-17</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idda38c33d24c4b43a1f381624845675c_I20200417"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:PaycheckProtectionProgramCARESActMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-04-17</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:PaycheckProtectionProgramCARESActMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i90c085f859574bfebac847d55bbc3e34_I20191125"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-11-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib1e15e5d401847fdbcb7b4b5bae128d9_D20191125-20191125"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-11-25</xbrli:startDate><xbrli:endDate>2019-11-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ide56ed12b20d48d9b4d94f428ba486bf_D20201201-20201201"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-12-01</xbrli:startDate><xbrli:endDate>2020-12-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie16f6e9c23a64c85a13cf785e1723ae8_D20191125-20191125"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-11-25</xbrli:startDate><xbrli:endDate>2019-11-25</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icdcfe2637deb4eb98cdaa89aec70b7f3_D20190329-20190329"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-29</xbrli:startDate><xbrli:endDate>2019-03-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i48990753270143b197bba2add072416d_D20190329-20190630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-29</xbrli:startDate><xbrli:endDate>2019-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic344ceb0ca0f42c3b01d4208ea00d26e_D20190701-20200116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-07-01</xbrli:startDate><xbrli:endDate>2020-01-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i347725a8decd4d1faca9cdf4f24912dc_I20200116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6b533f191bba46238f4755579bff014b_D20200116-20200116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-16</xbrli:startDate><xbrli:endDate>2020-01-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5f579cbb1c984446a8eb1c108e231de1_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1ce2ebfacfc44de5aa6097399cebb658_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iaa5b42f29fe84c538a08e2001f41f572_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i059252fc965140ddb0415c20605988f6_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0d6ab6cb7de94ed9a7277e48db2a6d3f_I20190329"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie67bfb806db345368ab13b6a42410e59_I20200115"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-01-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifbc5784ca5f748d4bf1bdaa88d8133ad_D20220101-20220331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id704b55736834b05bf98ea790e0fe70e_D20220401-20220630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-04-01</xbrli:startDate><xbrli:endDate>2022-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib457b7bb5a51461d809fe2b17feafe57_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">us-gaap:WarrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib10c54b935054c1887fe2263e2811bef_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if45ec14e9ce748d5b1610444fdeb4d51_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">efoi:FusionParkLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ice689795aade4dbcb35b5c7de8b74255_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">efoi:BrilliantStartEnterpriseInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i039b65941c61462bb4170186675a9752_I20200115"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-01-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i8da533426d38478db66b1164a4ea4e2d_D20200116-20200116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-16</xbrli:startDate><xbrli:endDate>2020-01-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0b61d3a9fe984b6a9d1b2ff8efa7f893_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i149c27d4dc1e4b969f84c426a927615e_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i71cce42cc1484ca4b4f4cd609827ebd4_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i65b971ea9cb44fb1888185cc19c4389b_I20200318"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-18</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i387ac9a58bdc4026beffdfb1ef037acc_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7bacc12348f04b6b82d1e7cf2cc8522a_I20140506"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2014-05-06</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie730505241d0471ab9e4023d57877882_I20150722"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2015-07-22</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i07c496a5a92a442992762b34c8bacd5a_I20170621"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-06-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib33883051e4946f8b1969f231753015f_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">efoi:EmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia925f79fe3284c5f925333ca8b9f3106_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">efoi:EmployeeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iac0e4d7075a24ca4b7b32fc505ef4218_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">efoi:NonEmployeeDirectorMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7530d5d0a4b940f8a3fee319d6c0119c_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i46e851f19f78458995019a8807d5fab2_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i28e104dced94438ca18c6fb5046f60d6_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0b262df8d9b345bb978f20a584580126_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iebf94b633dc7494fb3a642b04e637101_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0c87840ee3e94c09a9151682c9375c17_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i33ae864acc864d8381b7945d803c40b2_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i361a0747e00b4bdca00c2cd4f646d038_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3306e536994743e4b413b7eb48ec9a95_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i503a2e63e2254386855de34f02484867_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i58c0cbc5622644c099d0a66e73a0c7cb_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic57470dbd9284ff19748ce19ff94496c_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3a34278eca8f4d409ee893f500388134_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i593f0909b228451192e79880916a76ca_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeThreeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifc072047745247858635e57c5e101cbb_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeFourMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeFiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8574cf31460f42c09befbf3d94ba95f7_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeFiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9506043790a7411eb586f638e58fde5b_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4ff91b791919436d91bf7fecc7a86b8a_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifa72da35d76c4072bd7c10aefee57afc_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iec1f52178f0f4af09a01c9fc1a1d457d_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i683a1c383f14479db04e359bb44dc770_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3db4a53ab94249ca8f416d280f4a7609_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i03d191cfe7f3499ea2b10ffec28cef54_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7798c1a139c1494fa683aabbf81de26c_I20130930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2013-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id20d8b5e532d4b51a9331cef0c3ea1d0_D20130901-20130930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2013-09-01</xbrli:startDate><xbrli:endDate>2013-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6f50781bec45435f94e2ce7929208a72_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6c1fd4cb5b294dc4831cd60414588dd6_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icd21d751952249369a1a2bdefc377188_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1f2d9a1ca0ff499ea1c3689f9f2e0d62_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i9f4bc6ef38584874b2d78022102d531b_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i197c0fe1384549c487b81bb905620e44_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:PoolAndCommercialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic27dfd50f8b84336b419cf442767ca39_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:PoolAndCommercialProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2024eff72edb40b08a2872fd9afd83d5_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:GovernmentProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1fb4bf01d859465d8a9690b5cade977c_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:GovernmentProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7f06ae07d18848d594df88fe8d7cfc70_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i19b5439904b14b289663730383e53ff1_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic0151d79c4bd4aeaaf6a11c9700dd978_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">efoi:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic1dbd62a77f24cddafa39b3a5a30bb06_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">efoi:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6ea6a13dafe14b18bb11f171d6eb7e1c_I20190226"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:A13DGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-02-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i226fbb921c5e485897c159bb7db6a1cb_D20190329-20190329"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:A13DGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-29</xbrli:startDate><xbrli:endDate>2019-03-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idb9ed717b0a243c7a5b4ae753cb534c9_D20190329-20190329"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:A13DGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:JamesTuThroughFusionParkLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-29</xbrli:startDate><xbrli:endDate>2019-03-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i986b7a0a4ce8436295fd5285a858a2bd_D20190329-20190329"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:A13DGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:BrilliantStartEnterpriseInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-03-29</xbrli:startDate><xbrli:endDate>2019-03-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3a6e6795461743609682ffcb8cd1e3d5_I20140731"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:CommunalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2014-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0501a64963994dacaa526c0a82bd81fc_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:A5ElementsGlobalAdvisorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6a84b900816b4ec9bd7cbf5ab67a988b_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">efoi:CommunalInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:CommunalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">efoi:FiveElementsEfficientiesBVILtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i914dbf01dccc4cf7abc5b14cc72557fb_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:A5ElementsEnergyEfficienciesBVILtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7fb52740cc5440e382b6587a44a17e81_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">efoi:CommunalInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">efoi:FiveElementsEfficientiesBVILtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:YehMeiChengMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-07-01</xbrli:startDate><xbrli:endDate>2020-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if2ea2c631b17474591d4019659a314e9_D20200401-20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i470ca8126ea5433aac9f7fd8d9230dee_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i1d09896c5d3b4ce58068613148679676_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie92beb8db1b545eeb8bbf34cc5773ff2_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ibbb909451be248a9bcaddb97d16202e1_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie77f47dfbdcd46db90c7b9abb87be007_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i20a0302f7a374d1a851c7f5612e3df06_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4980c7cd73064cf6a9d691510a59cbd5_I20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i38e69ad7c47941cabf512c28ed20f43f_D20210101-20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9863b9679558410ea32d213fa97f7d72_I20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i15d2a29dd4644d06a4ed9d981c8d9103_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie497d4f6ca9a484a9b70f2ccbb3e8858_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i88c89f77bc274c40b39391a664b32bbc_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="idedbae9094ff4b0ea730fbda6bad71a2_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7073a92a6cda4479b4673e4cc22f0277_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib2500e9c4f1241b791b32c557a343941_D20200101-20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000924168</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTUtMS0xLTM4NQ_9ca8cad5-9cf5-44b3-8062-8460b8688df2 id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTUtMS0xLTA_6356fb33-48a0-4b49-9745-f3ffcb1e6c2d id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY4LTUtMS0xLTA_275ce0f7-f1ae-4faf-a324-7f9ec3be3370 id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTUtMS0xLTA_46f993bd-944b-44a2-985a-4f43d0abb672 id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTUtMS0xLTM4NQ_baf07fc7-da8e-4c1c-8ecc-380d268c6b7d id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTUtMS0xLTA_2fec7892-0246-4f3a-82aa-e5630642dd8f id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTUtMS0xLTA_f2de4794-894a-4739-891f-0a662d23770d id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTUtMS0xLTM4NQ_f7eb3ceb-081c-4973-9eb4-ee731a22afc9 id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgwLTUtMS0xLTM4NQ_62c95a26-22d9-45d2-818a-ec9ede1a623f id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTUtMS0xLTQ1MjMy_6d60ea95-3e82-4714-9689-ea28e0c45607 id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTUtMS0xLTA_517ec01d-23dd-4811-bd8b-a77b610eb21b" linkRole="http://www.xbrl.org/2003/role/link" toRefs="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973" order="1"></ix:relationship><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_5c4b2ca1-1270-4bac-a44b-3dc0acb0785a id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_08168ba6-f958-41fc-a4bc-69ad0eb96e64 id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_cb43b184-2f6b-487c-bd9b-a1a2868ee3ce id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_a81e93fe-6a31-426b-b0f0-f1337b3fb947 id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF81Ng_fef64df8-1f2e-4585-89a4-4490387b3c63" linkRole="http://www.xbrl.org/2003/role/link" toRefs="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60" order="1"></ix:relationship></ix:resources></ix:header></div><div id="i0aac58884afd43c7af148e399624b8eb_1"></div><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10.5pt;font-weight:700;line-height:120%">Washington, D.C. 20549</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">FORM <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjAy_2352baea-0da4-4247-a328-4fb735efab14">10-K</ix:nonNumeric></span></div><div style="margin-bottom:1pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:1.979%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:95.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:DocumentAnnualReport" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6ZmIyZmJlYWU3MTE4NDE3MjllYTIyZDBmZWQyOTAxYzkvdGFibGVyYW5nZTpmYjJmYmVhZTcxMTg0MTcyOWVhMjJkMGZlZDI5MDFjOV8wLTAtMS0xLTA_d9a1a7b1-8488-4d7e-9fca-6480aaec7876">&#9745;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">ACT OF 1934</span></div></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the fiscal year ended <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8xMTU_aaf22024-b804-4b70-8814-47929d5e028c"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:CurrentFiscalYearEndDate" format="ixt:date-monthname-day-en" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8xMTU_99adaf56-2c65-4d88-87f9-7379bab92e0a">December&#160;31</ix:nonNumeric>, 2021</ix:nonNumeric> </span></div><div style="margin-bottom:1pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:1.979%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:95.821%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWY3OWExMzg5Y2EwNDBlZTk4YTc4NjkzNjI3YWUwYjUvdGFibGVyYW5nZTphZjc5YTEzODljYTA0MGVlOThhNzg2OTM2MjdhZTBiNV8wLTAtMS0xLTA_b6b6cf8a-7882-4ef3-9f63-e88a5c63f955">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">For the transition period from ___________ to ___________</span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:700;line-height:120%">&#160;</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Commission file number <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjA3_b0337da8-9c8a-4a13-bf9f-068042a1ff2e">001-36583</ix:nonNumeric></span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;(Exact name of registrant as specified in its charter)</span></div><div style="margin-bottom:1pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:45.605%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.342%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:45.753%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YjZiZjZhNmNjNzQxNDY4OThkNTNkMGFjNzRmM2E4OWUvdGFibGVyYW5nZTpiNmJmNmE2Y2M3NDE0Njg5OGQ1M2QwYWM3NGYzYTg5ZV8wLTAtMS0xLTA_91e689e8-8b68-417d-9008-2971aa052fe9">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YjZiZjZhNmNjNzQxNDY4OThkNTNkMGFjNzRmM2E4OWUvdGFibGVyYW5nZTpiNmJmNmE2Y2M3NDE0Njg5OGQ1M2QwYWM3NGYzYTg5ZV8wLTItMS0xLTA_c274715b-ef2b-4ae4-83c6-ee6834635ae6">94-3021850</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(State or other jurisdiction of incorporation or organization)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(I.R.S. Employer Identification No.)</span></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjEx_0f4c4696-e344-4ed0-9846-0ef0d930ce73">32000 Aurora Road</ix:nonNumeric>, <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityAddressAddressLine2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjEy_e56718e3-c972-4380-91ff-763e88295dbb">Suite B</ix:nonNumeric></span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjE2_1c35797f-973a-4461-a7f1-dc9879e5deb9">Solon</ix:nonNumeric>, <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjA1_2e5f5c04-bbaa-4855-b3e7-115985dde9c5">Ohio</ix:nonNumeric> <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMzA_8f59206b-2b43-4953-9dc8-397252473f7d">44139</ix:nonNumeric></span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">(Address of principal executive offices, including zip code)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Registrant&#8217;s telephone number, including area code: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF80NDg_7bfa08bd-5c7d-4217-87f6-19e091798162">440</ix:nonNumeric>.<ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF80NTE_a1c6b433-5da3-43ef-b0a9-0b04e2e74a83">715.1300</ix:nonNumeric></span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(b) of the Act: </span></div><div style="margin-bottom:1pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"></td><td style="width:38.334%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.352%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:41.014%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Title of each class</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Trading symbol(s)</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline">Name of each exchange on which registered</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWUyY2U0ZmU2YzI1NDc0OGEwZjc0NGM4YmE5ZTkyNDIvdGFibGVyYW5nZTphZTJjZTRmZTZjMjU0NzQ4YTBmNzQ0YzhiYTllOTI0Ml8xLTAtMS0xLTA_d2b08dd9-36a1-41e1-8687-dbd91c6de0e0">Common stock, par value $0.0001 per share</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWUyY2U0ZmU2YzI1NDc0OGEwZjc0NGM4YmE5ZTkyNDIvdGFibGVyYW5nZTphZTJjZTRmZTZjMjU0NzQ4YTBmNzQ0YzhiYTllOTI0Ml8xLTEtMS0xLTA_6eedf4bd-5b21-4c99-8838-d84e85db5d60">EFOI</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWUyY2U0ZmU2YzI1NDc0OGEwZjc0NGM4YmE5ZTkyNDIvdGFibGVyYW5nZTphZTJjZTRmZTZjMjU0NzQ4YTBmNzQ0YzhiYTllOTI0Ml8xLTItMS0xLTA_271f6095-ed6d-4edc-8b06-ddd80b818b80">The Nasdaq Stock Market LLC</ix:nonNumeric></span></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(g) of the Exchange Act: None</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined by Rule 405 of the Securities Act of 1933. Yes </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#168;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityWellKnownSeasonedIssuer" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjEz_5d56bcae-fb87-47c2-8470-ca1b6b40f19d">No</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#254;</span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or 15(d) of the Act. Yes&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#168;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityVoluntaryFilers" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjE3_43cc4085-8407-4cc8-9616-4af811b1f234">No</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#254;</span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjE4_f08183d6-3c81-40e4-b0d1-d638bda55dfe">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#254;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#168;</span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically every Interactive Date File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjA2_c2e2ead3-d196-44ff-9263-974f8931578d">Yes</ix:nonNumeric> </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#254;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#168;</span></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</span></div><div style="margin-bottom:1pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:17.576%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:26.988%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:29.341%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.695%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Large accelerated filer </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#168;</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accelerated filer </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#9744;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWY3OTg5ZDQzNmQyNGEzN2E3ZjdkMTY5MDZiZjRkMjIvdGFibGVyYW5nZTphZjc5ODlkNDM2ZDI0YTM3YTdmN2QxNjkwNmJmNGQyMl8xLTAtMS0xLTA_504e8372-2f08-4e32-86d5-5c0c323eb5d0">Non-accelerated filer</ix:nonNumeric>&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#254;</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Smaller reporting company </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWY3OTg5ZDQzNmQyNGEzN2E3ZjdkMTY5MDZiZjRkMjIvdGFibGVyYW5nZTphZjc5ODlkNDM2ZDI0YTM3YTdmN2QxNjkwNmJmNGQyMl8xLTMtMS0xLTA_9a1eb7a7-9aba-4f32-be30-56b8f1b95acc">&#9745;</ix:nonNumeric></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Emerging growth company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWY3OTg5ZDQzNmQyNGEzN2E3ZjdkMTY5MDZiZjRkMjIvdGFibGVyYW5nZTphZjc5ODlkNDM2ZDI0YTM3YTdmN2QxNjkwNmJmNGQyMl8yLTMtMS0xLTA_661e9fd5-ab23-42e4-b554-1a2c6c18af86">&#9744;</ix:nonNumeric></span></td></tr></table></div><div style="text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section&#160;13(a) of the Exchange Act.&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#168;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:IcfrAuditorAttestationFlag" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjE5_eb0087b1-4e85-4ab6-9629-7224308d23fa">&#9744;</ix:nonNumeric></span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes&#160;</span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjAx_a5b7cecd-64c7-41d7-84ce-6ed614f4c398">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> No </span><span style="color:#000000;font-family:'Wingdings',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#254;</span></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">The aggregate market value of the Company&#8217;s common stock held by non-affiliates of the Company was approximately $<ix:nonFraction unitRef="usd" contextRef="i2505d1231c054af68152871f25cdc3b6_I20210630" decimals="-5" name="dei:EntityPublicFloat" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8yNzE5_d5c12e71-ae61-495e-978b-2d34d655ce12">17.1</ix:nonFraction> million as of June 30, 2021, the last day of the Company&#8217;s most recently completed second fiscal quarter, when the last reported sales price was $3.98 per share.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Number of the registrant&#8217;s shares of common stock outstanding as of March&#160;14, 2022: <ix:nonFraction unitRef="shares" contextRef="id9af257477b045dca6a2ad843661d293_I20220314" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8yOTM0_31f2a19b-5798-4013-b800-354178bfd85c">6,453,777</ix:nonFraction>. </span></div><div style="margin-top:6pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">DOCUMENTS INCORPORATED BY REFERENCE</span></div><div style="margin-top:6pt"><span><br/></span></div><div style="text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:115%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjA5_bd137dfc-6d9f-4414-b321-2735bb48c7e1" escape="true">Portions of the definitive proxy statement to be filed with the Securities and Exchange Commission relative to the registrant&#8217;s 2022 Annual Meeting of Stockholders are incorporated by reference into Part III of this Report.</ix:nonNumeric></span></div><div style="margin-bottom:6pt;margin-top:6pt;text-align:center;text-indent:9pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><span><br/></span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:10.190%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:82.331%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.179%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">PART I</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Page</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 1.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">BUSINESS</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_16">4</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 1A.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">RISK FACTORS</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_19">12</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 1B.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">UNRESOLVED STAFF COMMENTS</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_22">26</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 2.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">PROPERTIES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_25">26</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 3.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">LEGAL PROCEEDINGS</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_28">26</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 4.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">MINE SAFETY DISCLOSURES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_31">26</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">PART II</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 5.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS, AND ISSUER PURCHASES OF EQUITY SECURITIES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_37">27</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 6.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">[RESERVED]</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_40">27</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 7.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_43">28</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 7A.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_112">42</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 8.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_115">43</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 9.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_190">80</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 9A.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">CONTROLS AND PROCEDURES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_193">80</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 9B.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">OTHER INFORMATION</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_196">80</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 9C.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_1850">80</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">PART III</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 10.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_199">81</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 11.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">EXECUTIVE COMPENSATION</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_199">81</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 12.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_199">81</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 13.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS AND DIRECTOR INDEPENDENCE</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_199">81</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 14.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">PRINCIPAL ACCOUNTING FEES AND SERVICES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_199">81</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">PART IV</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 15.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">EXHIBITS, FINANCIAL STATEMENT SCHEDULES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_205">81</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">ITEM 16.</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">FORM 10-K SUMMARY</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_211">84</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">SIGNATURES</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_214">85</a></span></div></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">I</span></div><div id="i0aac58884afd43c7af148e399624b8eb_13"></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Forward-Looking Statements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Unless the context otherwise requires, all references to &#8220;Energy Focus,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; &#8220;our,&#8221; &#8220;our company,&#8221; or &#8220;the Company&#8221; refer to Energy Focus, Inc., a Delaware corporation, and its consolidated subsidiary for the applicable periods, considered as a single enterprise.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">This Annual Report on Form 10-K (this &#8220;Annual Report&#8221;) includes statements that express our opinions, expectations, beliefs, plans, objectives, assumptions or projections regarding future events or future results and therefore are, or may be deemed to be, &#8220;forward-looking statements&#8221; within the meaning of Section 27A of the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;), and Section 21E of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;). These forward-looking statements can generally be identified by the use of forward-looking terminology, including the terms &#8220;believes,&#8221; &#8220;estimates,&#8221; &#8220;anticipates,&#8221; &#8220;expects,&#8221; &#8220;feels,&#8221; &#8220;seeks,&#8221; &#8220;forecasts,&#8221; &#8220;projects,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;may,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;could&#8221; or &#8220;would&#8221; or, in each case, their negative or other variations or comparable terminology. These forward-looking statements include all matters that are not historical facts. They appear in a number of places throughout this Annual Report and include statements regarding our intentions, beliefs,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">or current expectations concerning, among other things, our results of operations, financial condition, liquidity, prospects, growth, strategies, capital expenditures,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">and the industry in which we operate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">By their nature, forward-looking statements involve risks and uncertainties because they relate to events and depend on circumstances that may or may not occur in the future. Although we base these forward-looking statements on assumptions that we believe are reasonable when made in light of the information currently available to us, we caution you that forward-looking statements are not guarantees of future performance and that our actual results of operations, financial condition and liquidity, and industry developments may differ materially from statements made in or suggested by the forward-looking statements contained in this Annual Report. In addition, even if our results of operations, financial condition and liquidity, and industry developments are consistent with the forward-looking statements contained in this Annual Report, those results or developments may not be indicative of results or developments in subsequent periods.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We believe that important factors that could cause our actual results to differ materially from forward-looking statements include, but are not limited to, the risks and uncertainties outlined under &#8220;Risk Factors&#8221; under Item 1A of this Annual Report and other matters described in this Annual Report and our other filings with the Securities and Exchange Commission (the &#8220;SEC&#8221;) generally. Some of these factors include:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">instability in the U.S. and global economies and business interruptions experienced by us, our customers and our suppliers as a result of the coronavirus (&#8220;COVID-19&#8221;) pandemic and related impacts on travel, trade and business operations;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">the competitiveness and market acceptance of our light-emitting diode (&#8220;LED&#8221;) lighting, control and ultraviolet light disinfection (&#8220;UVCD&#8221;) technologies and products;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to compete effectively against companies with lower prices or cost structures, greater resources, or more rapid development capabilities, and new competitors in our target markets;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to extend our product portfolio into consumer products;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to realize the expected novelty, disinfection effectiveness, affordability and estimated delivery timing of our UVCD products and their appeal compared to other products;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to increase demand in our targeted markets and to manage sales cycles that are difficult to predict and may span several quarters;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">the timing of large customer orders, significant expenses and fluctuations between demand and capacity as we invest in growth opportunities;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to successfully scale our network of sales representatives, agents, distributors and other channel partners to compete with the sales reach of larger, established competitors;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to implement plans to increase sales and control expenses;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our reliance on a limited number of customers for a significant portion of our revenue, and our ability to maintain or grow such sales levels;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to add new customers to reduce customer concentration;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our need for additional financing in the near term to continue our operations;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to refinance or extend maturing debt on acceptable terms or at all;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to continue as a going concern for a reasonable period of time;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to attract and retain a new chief executive officer (&#8220;Chief Executive Officer&#8221;);</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to attract, develop and retain qualified personnel, and to do so in a timely manner;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our reliance on a limited number of third-party suppliers and research and development partners, our ability to manage third-party product development and obtain critical components and finished products from such suppliers on </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">acceptable terms and of acceptable quality despite ongoing global supply chain challenges, and the impact of our fluctuating demand on the stability of such suppliers;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to timely, efficiently and cost-effectively transport products from our third-party suppliers to our facility by ocean marine and other logistics channels despite global supply chain and logistics disruptions;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">the impact of any type of legal inquiry, claim or dispute;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">the inflationary or deflationary general economic conditions in the United States and in other markets in which we operate or secure products, which could affect our ability to obtain raw materials, component parts, freight, energy, labor, and sourced finished goods in a timely and cost-effective manner;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our dependence on military maritime customers and on the levels and timing of government funding available to such customers, as well as the funding resources of our other customers in the public sector and commercial markets;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">business interruptions resulting from geopolitical actions, including war and terrorism, natural disasters, including earthquakes, typhoons, floods and fires, or from health epidemics or pandemics or other contagious outbreaks;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to respond to new lighting and air disinfection technologies and market trends;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to fulfill our warranty obligations with safe and reliable products;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">any delays we may encounter in making new products available or fulfilling customer specifications;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">any flaws or defects in our products or in the manner in which they are used or installed;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to protect our intellectual property rights and other confidential information, and manage infringement claims by others;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our compliance with government contracting laws and regulations, through both direct and indirect sale channels, as well as other laws, such as those relating to the environment and health and safety;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">risks inherent in international markets, such as economic and political uncertainty, changing regulatory and tax requirements and currency fluctuations, including tariffs and other potential barriers to international trade;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;padding-left:14.5pt">our ability to maintain effective internal controls and otherwise comply with our obligations as a public company; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to maintain compliance with the continued listing standards of The Nasdaq Stock Market (&#8220;Nasdaq&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">In light of the foregoing, we caution you not to place undue reliance on our forward-looking statements. Any forward-looking statement that we make in this Annual Report speaks only as of the date of such statement, and we undertake no obligation to update any forward-looking statement or to publicly announce the results of any revision to any of those statements to reflect future events or developments, except as required by law. Comparisons of results for current and any prior periods are not intended to express any future trends or indications of future performance, unless specifically expressed as such, and should only be viewed as historical data. Furthermore, new risks and uncertainties arise from time to time, and it is impossible for us to predict those events or how they may affect us.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Energy Focus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intellitube</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">, Redcap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">, EnFocus&#8482; and nUVo&#8482; are our registered trademarks. We may also refer to trademarks of other corporations and organizations in this document.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_16"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">BUSINESS</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls and ultraviolet-C light disinfection (&#8220;UVCD&#8221;) products. We develop, market and sell high quality light-emitting diode (&#8220;LED&#8221;) lighting and controls products and UVCD products in the commercial market and military maritime market (&#8220;MMM&#8221;), and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities, offices and homes with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit and UVCD solutions. Our goal is to be the LED and human-centric lighting (&#8220;HCL&#8221;) technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge (&#8220;HID&#8221;) lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#8220;TLED&#8221;) products, as well as other LED and lighting control products for commercial and consumer applications. In late 2020, we announced the launch of our UVCD product portfolio. With initial development complete and two products now brought to market, we anticipate the development of additional UVCD products in 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2021, we continued to build upon the transition and transformation activities started during 2019 and 2020 that sought to stabilize and regrow our business. These transition efforts include the following key developments that occurred during 2021:</span></div><div style="margin-bottom:10pt;padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We announced plans for the second generation of EnFocus&#8482; powerline control switches and circadian lighting system for both commercial and residential markets, which we plan to launch in 2022. EnFocus&#8482; powerline control enables buildings to have dimmable, color tunable and circadian-ready lighting using existing wiring, without requiring laying additional cables or any wireless communication systems, through a relatively simple upgrade with EnFocus&#8482; switches and LED lamps, a simpler, more secure, affordable and environmentally sustainable solution compared with replacing entire lighting fixtures and incorporating additional wired or wireless communication.</span></div><div style="margin-bottom:10pt;padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">In response to the COVID-19 pandemic and an anticipated increase in sanitation and hygiene demand for buildings, facilities and homes, we developed advanced UVCD air disinfection products for both consumer as well as the commercial and industrial markets. Two of these UVCD products were available beginning in the fourth quarter of 2021: the nUVo&#8482; Tower air disinfector, a portable air disinfection device for offices and homes, and the nUVo&#8482; Traveler air disinfector, a portable air disinfection device for in-vehicle and other smaller enclosed or personal spaces. Additional nUVo&#8482; product development is planned in 2022 as we expect to refocus our ongoing UVCD development efforts on the commercial and consumer spaces.</span></div><div style="padding-left:38.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">We continued to seek additional external funding alternatives and sources to support our growth strategies, plans and initiatives:</span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt">In December 2021, we completed a private placement (the &#8220;December 2021 Private Placement&#8221;) with certain institutional investors pursuant to which we agreed to issue and sell (i) 1,193,185 shares of our common stock, (ii) pre-funded warrants (&#8220;Pre-Funded Warrants&#8221;) to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (iii) warrants (collectively with the Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. Net proceeds from the December 2021 Private Placement were approximately $4.0 million.</span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt">During the third quarter of 2021, we applied for approximately $876&#160;thousand in tax refunds relating to our second and third quarter 2021 employer tax filings pursuant to the Employee Retention Tax Credits in accordance with amendments made in 2021 to the Coronavirus Aid, Relief and Economic Security Act (the &#8220;CARES Act&#8221;). We received approximately $431 thousand during the fourth quarter of 2021 and expect to receive the remainder during 2022 after review of our amended tax filing.</span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt">In June 2021, we completed a registered direct offering (the &#8220;June 2021 Equity Offering&#8221;) of 990,100 shares of our common stock to certain institutional investors. Net proceeds to us from the June 2021 Equity Offering was approximately $4.5 million;</span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt">In April 2021, we entered into a note purchase agreement with Streeterville Capital, LLC (&#8220;Streeterville&#8221;) pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $1.7 million, with net proceeds of approximately $1.5 million.</span></div><div style="padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt">In April 2021, we increased the maximum amount that may be available to the Company on our inventory financing facility with Crossroads Financial Group, LLC by $500 thousand, for a total capacity of $3.5 million possible borrowings.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;padding-left:74.25pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#9702;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt">During the first quarter of 2021, the $795 thousand Paycheck Protection Program loan (and the related interest) we received in 2020 under the CARES Act was forgiven by the Small Business Administration.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021, we continued to expand our engineering capabilities and invest in our intellectual property portfolio for both lighting and controls and UVCD products, and we broadened our product distribution network by engaging with new lighting agencies and energy service companies (&#8220;ESCOs&#8221;). We also extended our efforts from 2020 to streamline our operations by closely managing all spending done throughout the Company, while investing in new products and strategies that sought to reenergize sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Throughout 2021, due to ongoing economic and building occupancy impacts from the COVID-19 pandemic, we again experienced a slowdown and continuing weakness in commercial sales as our customers in the healthcare, education, and commercial and industrial sectors put lighting retrofit projects on hold or delayed order placements. We continue to monitor the impact of the COVID-19 pandemic on our customers, suppliers and logistics providers, and to evaluate governmental actions being taken to respond to the spread of the virus. Although the significance and duration of the ongoing impact on our customers and us is still uncertain, and the specific timing of business recovery from the impact of the COVID-19 pandemic is still difficult to predict, we remain optimistic that as the number of infected cases stabilizes or declines, facility capital budgets will start unfreezing, commercial building occupancy will rise, and our growth efforts will further impact our financial performance in a positive way.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We will remain agile as an organization to respond to potential or continuing weakness in the macroeconomic environment and in the meantime seek to expand sales channels and enter new markets, such as the UVCD and consumer markets, that we believe will provide additional growth opportunities. We plan to achieve profitability through developing and launching new, innovative products, such as our EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> powerline control systems, our Redcap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> emergency battery backup tubular LEDs, and our nUVo&#8482; UVCD products, as well as executing on our multi-channel sales strategy that targets key verticals, such as government, healthcare, education and commercial and industrial, complemented by our marketing outreach campaigns and expanding channel partnerships. We also plan to continue to develop advanced lighting and lighting control applications built upon the EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform that aim to serve both consumer and commercial markets, and to refocus our UVCD product portfolio on high growth opportunities. In addition, we intend to continue to apply rigorous financial discipline in our organizational structure, decision-making, business processes and policies, strategic sourcing activities and supply chain practices to help accelerate our path towards profitability.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Industry</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We develop advanced LED lighting and controls retrofit technologies and UVCD product solutions that enable our customers to run their facilities and homes with greater energy efficiency, productivity and human wellness. We aim to be an LED and HCL technology leader, and to help create healthier and safer environments, by providing high-quality, energy-efficient, &#8220;flicker-free,&#8221; long-lived LED lamps and fixture products, and lighting controls to replace existing linear fluorescent, incandescent, HID lamps and fixtures, as well as offering innovative and impactful UVCD product solutions.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe these applications represent a significant portion of the LED lighting market and energy savings potential for our targeted commercial, industrial and MMM markets. We also believe that the UVCD market is a growing opportunity and that the focus on health, sanitation and air quality will remain even after the COVID-19 pandemic&#8217;s impact subsides.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">LED lighting, and particularly LED retrofit of fluorescent and incandescent lights in existing buildings, represents a large and growing market. A 2020 report issued by the U.S. Department of Energy, Office of Energy Efficiency and Renewable Energy (&#8220;DOE&#8221;), entitled &#8220;Adoption of Light-Emitting Diodes in Common Lighting Applications,&#8221; reports that from 2016 to 2018, installations of LED products have increased in all applications, increasing LED penetration to 30% of all general illumination lighting. In 2019, Navigant Research published a report that concluded that LED lighting had at least matched conventional lighting technologies on a range of features, including energy efficiency, lifetime, versatility and color quality, while becoming increasingly cost competitive. This same 2019 report forecasts that installed penetration of LED lamps and luminaires will increase dramatically through 2035, reaching about 84%. The increasing demand for LED lighting is being driven by energy and cost savings, environmental considerations and human health.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Energy consumption can be reduced by over 50% by replacing fluorescent tubes with LED tubes and by another 20-30% (70% to over 80% in total) by utilizing smart lighting technologies, including dimmable TLEDs with ambient light and occupancy sensors. For this reason, building codes are increasingly requiring not only LEDs, but dimmable LEDs. Governments around the world are implementing regulations and standards that incentivize the use of LED lighting, both smart and conventional, to reduce energy consumption and, therefore, carbon dioxide emissions. Our new product research and development investments since 2019 have been focusing on advanced and smart lighting technologies to capitalize on these trends, and EnFocus&#8482; </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">represents such a control platform that we aim to expand in terms of functionalities, applications and intelligence, going forward.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There is also a growing awareness of the effects of both visible and non-visible light on human health and well-being. Energy Focus has been a leader in flicker-free technology and one of the first to obtain Underwriters Laboratories (&#8220;UL</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;) certification at less than 1% optical flicker. Flicker, which is the modulation of the intensity of LED light at the frequency of the power supply, is well known to cause headaches, eye strain, fatigue, mood triggers and other health issues as well as interfering with electronic equipment such as barcode scanners. Energy Focus is continually evaluating additional HCL lighting and control solutions inspired by emerging health and wellness benefits.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Smart, or connected, lighting is disrupting the LED industry and providing new opportunities for growth. The DOE defines connected lighting as an LED-based lighting system with integrated sensors and controllers that are networked (either wired or wireless), enabling lighting products within the system to communicate with each other and transmit data. In addition to enabling the intensity and correlated color temperature (&#8220;CCT&#8221;) of lights to respond to ambient light, time of day and the activities of building occupants, connectivity enables building automation functions that extend well beyond lighting. The interference of blue light with human circadian rhythms is well known. This can be alleviated by circadian lighting, or controlled lighting that is able to change the intensity or CCT of the LEDs depending on the time of day in order to emulate natural light. Since lighting fixtures are ubiquitous throughout buildings, the lighting infrastructure is an ideal vehicle to retrofit these and other smart or connected lighting capabilities into existing buildings, and also to design these capabilities into new construction. According to Market and Research, the global smart lighting market is estimated to grow from $13.4 billion in 2020 and to $30.6 billion by 2025, at a compound annual growth rate of 18%.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From the customer feedback we have been receiving, we believe that the overall smart lighting market is still largely underdeveloped due to the cost and complexity for installations of related technologies today in the marketplace, representing significant potential for solutions that could meet customer needs and could also be affordable, easy to install and secure. Much of this interest and demand has been muted during 2020 and 2021 as a result of the COVID-19 pandemic, which we believe has primarily delayed, rather than reduced, our opportunity in the smart lighting marketplace. We believe our EnFocus&#8482; lighting platform could effectively address the unmet needs for circadian and smart lighting, particularly for existing buildings that have limited economical options or IT expertise to implement otherwise complex lighting control systems.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our UVCD technologies and products aim to provide effective, reliable and affordable UVCD solutions for buildings, facilities and homes. We are harnessing the power of high-dose ultraviolet-C (&#8220;UV-C&#8221;) light for air disinfection via various nUVo&#8482;  air disinfector consumer products. These products are designed to achieve upwards of 99.9% disinfection of airborne pathogens such as molds, bacteria and viruses, including influenza and coronaviruses.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While we believe the LED lighting and smart lighting market is large, growing and under-penetrated, it has also been characterized in recent years by intensifying competition, market leadership changes and aggressive pricing tactics on differentiated products. Our strategy to overcome these challenges is to, first and foremost, develop advanced, impactful and customer-centric technologies and products. In addition, we focus on executing our multi-channel sales strategy and delivering educational campaigns combined with a growing sales representative network to drive effective and frequent communication with customers in order to better understand and serve their needs. By understanding the voice of the customer and by incorporating rapidly evolving technologies surrounding LED and smart lighting, we believe that we will continue to be able to develop solutions that better address customers&#8217; needs with unique and novel product offerings, such as EnFocus&#8482;, our dimmable and tunable lighting and control platform, that deliver substantial value to our customers and accelerate LED and smart lighting adoptions.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Our Products</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We design, develop, manufacture and market a wide variety of LED lighting technologies and UVCD products and solutions to serve our primary end user markets, including the following:&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial products to serve our targeted commercial markets:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> emergency battery backup TLEDs;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">EnFocus&#8482; powerline lighting control platform including dimming (&#8220;DM&#8221;) and color tuning (&#8220;DCT&#8221;);</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">LED replacement fixtures, including replacement TLEDs for linear fluorescent lamps, downlights, and retrofit kits for low-bay, high-bay and office applications;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Industrial grade LED Dock lights; and</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">nUVo&#8482;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tower and nUVo&#8482; Traveler portable UVCD air disinfectors.</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">MMM LED lighting products to serve the U.S. Navy and allied foreign navies:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Military-grade Intellitube</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-4.2pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> retrofit TLED and the Invisitube&#8482; ultra-low EMI TLED; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Military-grade fixtures, including LED globe lights, berth lights; high-bay fixtures and LED retrofit kits.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our LED products are more energy-efficient than traditional lighting products, such as fluorescent, incandescent and HID lamps, and we believe they can improve the overall sustainability profile of our customers by providing financial, environmental and human health benefits, including achieving significant long-term energy and maintenance cost savings, reducing carbon emission, substantially reducing retrofit waste and enhancing the health and productivity of building occupants.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our UVCD solutions aim to provide impactful and affordable disinfection products for businesses and homes to effectively reduce infection risks for a broad range of airborne pathogens, including, among others, influenza, coronaviruses and mold. In addition to being ozone-free, the products are designed to provide the appropriate dosage that effectively destroys airborne pathogens while also guarding against the risks of direct human exposure to UV-C rays through our patent-pending UV blocker technology. The nUVo</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> products include enclosed, self-contained UV-C disinfection units that continuously inactivate viruses while reducing overall pathogen levels in the air.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The key features of our products are as follows:&#160;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Many of our products make use of proprietary or patented optical and electronics delivery systems that enable high efficiencies with superior lighting qualities, and proven records of extremely high product reliability;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our products have exceptionally long life, with the majority of our TLED sales providing a 10-year warranty; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our products have extremely low flicker, including our 500D series TLED products, which were the first in the lighting industry to be certified by UL</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> as &#8220;low optical flicker, less than 1%&#8221;; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Most of our products meet the lighting efficiency standards mandated by the Energy Independence and Security Act of 2007;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Most of our products qualify for federal and state tax and rebate incentives for commercial consumers available in certain states; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our UVCD air disinfection products are designed to inactivate more than 99.9% of airborne pathogens.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our product development capabilities, which we believe provide a strategic competitive advantage, include the following:&#160;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">A long research, engineering, and market developmental history, with broad and intimate understanding of lighting technologies and LED lighting applications;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Strong and lean team of experienced, cross-disciplinary engineers that forms the foundation of our engineering innovation and competency not only in lighting but also in electrical, electronics, optical, thermal, mechanical, communications, air flow and software technologies;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Concentration on developing and providing high-quality, price competitive LED lamps and the surrounding technologies to replace fluorescent and HID lamps and fixtures for commercial and residential markets;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Providing high quality and high performing LED lighting products with a proven history of reliability; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Emphasis on proprietary and patent-pending technologies surrounding LED lighting and UVCD products; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">A deep understanding of LED lighting product applications in existing MMM, government, commercial and residential building markets.&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As we seek to develop new connected lighting LED solutions, we expect to continue our investments in smart, connected and HCL research and development, as well as channel partnerships. Lighting controls, including dimming, sensor and daylighting technologies, can yield significant energy savings and human health benefits. We believe that the controllability of LED technology and our ability and plan to integrate more occupancy sensing and other controls into our existing products will allow us to further differentiate our LED solutions and provide greater non-energy benefits to our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Sales and Marketing</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our innovative technologies and high-quality performance associated with LED lighting require a continued focus on educating our channel partners as well as end-users regarding the benefits and unique value propositions of our technologies and products. Our primary target customers for our LED lighting and controls systems are enterprise end-users, as well as contractors or ESCOs that could incorporate our products into their projects. We also sell through lighting agencies that represent our products as a complement to our direct sales effort. We have in-house commercial sales personnel and numerous sales agencies representing Energy Focus products. We aim to continue to expand the coverage of our in-house sales team, which now covers regions in the Midwest, Northeast, South, Southeast and Southwest, to eventually cover all geographic regions across the </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">United States. Our MMM sales strategy leverages our brand and past performance and focuses on education about our products as well as ease of procurement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We focus on industry verticals where the economic and non-economic benefits such as health and safety, as well as technical specifications, of our high-quality lighting product offerings are most compelling. Our LED and UVCD lighting products fall into two broad market categories, commercial markets, which tend to focus on quality, efficacy, total cost of ownership and return on investment, and MMM which require more rigorous military specifications for durability and dependability. We also entered consumer markets during fiscal year 2021, selling directly via e-commerce with digital marketing strategies that profile our UVCD technologies and products that aim to deliver effective and impactful disinfection for homes and small businesses. We expect that our multi-channel sales strategy will continue to evolve and expand in the future.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With the introduction of our military-grade Intellitube</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;product in 2011, which replaced two-foot fluorescent lamps on U.S. Navy ships, military sales have represented the majority of our overall sales. Since our management change in April 2019, we have been focusing on improving the design of our MMM products to significantly reduce product costs while maintaining the required performance. Such efforts allowed us to win bids and proposals that helped grow our MMM sales during 2020, offsetting some of the weakness being experienced in our commercial business due to the impact of the COVID-19 pandemic. Despite military funding holds throughout 2021, we continued to win bids and proposals, which contributed to our MMM sales during the year, though at levels lower than 2020. While we continue to aggressively pursue growth on the commercial side of our business due to its much larger potential and size, the MMM business does offer us the opportunity for continued sales, in addition to validating our product quality and strengthening our brand trust in the marketplace. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We launched our first commercial LED lighting products in 2010. Since then, we have been building and expanding our commercial and industrial market presence where the economic and non-energy benefits and technical specifications of our high-quality lighting product offerings are compelling, particularly for mission-critical facilities in the enterprise verticals such as healthcare, eldercare, education and the commercial and industrial space. For example:&#160;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Given the 24/7 lighting requirements of hospital systems, we believe that our LED solutions offer the proven quality, performance, long lifetime, return on investment and low flicker lightning that is particularly attractive to this target market. Since 2015, we have been the primary LED lighting supplier and partner for a major northeast Ohio hospital system and, as a result of our continued success, we have been able to leverage this relationship to expand into more hospital systems across the country.</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">As we advocate for the benefits of low-flicker LED lighting in schools, both in terms of energy-efficiency and in creating a healthy and effective learning environment, we continue to receive orders to retrofit school districts, colleges and universities.</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Low and high bay applications are generally used in commercial and industrial markets to provide light to large open areas like big-box retail stores, warehouses and manufacturing facilities. In the past few years, technological and cost improvements have allowed LED low and high bay applications to be more competitive against traditional low and high bay applications with fluorescent or metal halide light sources. In the industrial market in particular, due to the usage of metal halide lighting, the energy and maintenance savings that can be achieved by switching to our LED products could be substantial, and we believe we have attractive product offerings in this space.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to our direct and indirect sales force, we have also launched our own e-commerce websites to target both commercial customers and retail consumers, while also offering financing options for customers. We believe that our renewed and continuing focus on multi-disciplinary technology innovation and engineering designs to both expand product features and benefits, while lowering product costs of ownership, will continue to enhance the overall competitiveness of our LED lighting and UVCD products and provide us with the strategic advantage and flexibility to expand our distribution channels.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Concentration of Sales</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2021, two customers accounted for 43% of net sales, with sales to our primary distributor for the U.S. Navy accounting for approximately 30% of net sales, and sales to a regional commercial lighting retrofit company accounting for approximately 13% of net sales. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 38% of net sales for the same period. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2020, two customers accounted for 62% of net sales, with sales to our primary distributor for the U.S. Navy accounting for approximately 49% of net sales, and sales to a regional commercial lighting retrofit company accounting for approximately 12% of net sales. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 53% of net sales for the same period.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Competition&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our LED lighting products compete against a variety of lighting products, including conventional light sources such as compact fluorescent lamps and HID lamps, as well as other TLEDs and full fixture LED lighting products. Our ability to compete depends substantially upon the superior performance, incremental benefits and lower total cost of ownership of our products. Principal competitors in our markets include large lamp manufacturers and lighting fixture companies based in the United States, as well as TLED and LED replacement fixture manufacturers mostly based in Asia, whose financial resources may substantially exceed ours and whose cost structure as a percentage of sales may be well below ours. These competitors may introduce new or improved products that may reduce or eliminate some of the competitive advantage of our products and may have substantially lower pricing. We anticipate that the competition for our products will also come from new technologies that offer increased energy efficiency, lower initial costs, lower maintenance costs, or advanced features. We compete with LED systems produced by large lighting companies such as Signify Lighting, Osram Sylvania and GE Lighting, as well as smaller manufacturers or distributors such as LED Smart, Revolution Lighting Technologies, Orion Energy Systems, Green Creative and Keystone Technologies. Some of these competitors offer products with performance characteristics similar to those of our products.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For our nUVo</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> UVCD air disinfector products, we expect</span><span style="color:#ee2724;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to compete largely with air purifier brands in the market today, such as Dyson, Molekule, Puro, Novaerus and RxAir. We believe that our proprietary and patent-pending product designs, as well as lower total lifecycle operating costs, in our UVCD products will enable our products to be more powerful and effective in inactivating virus in a more timely and energy efficient manner.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Manufacturing and Suppliers</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We produce our lighting products and systems through a combination of internal manufacturing and assembly at our Solon, Ohio facility, and sourced finished goods, manufactured to our specifications. Our internal lighting system manufacturing consists primarily of final assembly, testing, and quality control. We have worked with several vendors to design custom components to meet our specific needs. Our quality assurance program provides for testing of all sub-assemblies at key stages in the assembly process, as well as testing of finished products produced both internally and sourced through third parties. Additionally, we are 9001-2015 ISO certified.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Manufacturing costs are managed through the balance of internal production and outsourced production for certain parts and components, as well as finished goods in specific product lines, to a small number of vendors in various locations throughout the world, primarily in the United States, Malaysia, Taiwan, and China. In some cases, we rely upon a single supplier to source certain components, sub-assemblies, or finished goods. We continually attempt to improve our global supply chain practices to satisfy client demands in terms of quality and volumes, while controlling our costs and achieving targeted gross margins, and this includes the evaluation of additional outsourcing or further insourcing of internal production where cost, quality and performance can be maintained or improved. A 2021 DOE report entitled, &#8220;2020 LED Manufacturing Supply Chain&#8221;, indicated that most of the world&#8217;s LED lamp production and a significant portion of LED luminaire manufacturing takes place in China with virtually no LED lamp manufacturing taking place in the United States today. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our supplier concentration is heavily focused within Asia. As a result of the macroeconomic impacts of the COVID-19 pandemic, throughout 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components, as well as increased transportation costs, in an effort to manage both shortages of available components and longer lead times in obtaining components. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">One offshore supplier accounted for approximately 29% of our total expenditures for the twelve months ended December&#160;31, 2021. At December&#160;31, 2021, this same offshore supplier accounted for approximately 60% of our trade accounts payable balance.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">One offshore supplier and one domestic supplier accounted for approximately 21% and 12%, respectively, of our total expenditures for the twelve months ended December&#160;31, 2020. At December&#160;31, 2020, this same offshore supplier accounted for approximately 44% of our trade accounts payable balance.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product Development&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product development has been a key area of operating focus and competitive differentiation for us in designing and developing industry leading LED lighting and UVCD products. Gross product development expenses for the years ended December&#160;31, 2021 and 2020 were $1.9 million and $1.4 million, respectively. We believe that our customer-centric product development efforts represent a better leverage on our R&amp;D investments and aim to continue to focus on developmental projects that could produce more impactful and differentiated products and solutions in a more timely manner for faster customer adoption.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intellectual Property</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have a policy of seeking to protect our intellectual property through patents, license agreements, trademark registrations, confidential disclosure agreements, and trade secrets as management deems appropriate. Certain of our patents are key to our current product lines. Additionally, we have various pending U.S. patent applications, and various pending Patent Cooperation Treaty patent applications filed with the World Intellectual Property Organization that serve as the basis for national patent filings in countries of interest. Our issued patents expire at various times through May 2040. Generally, the term of patent protection is twenty years from the earliest effective filing date of the patent application. There can be no assurance; however, that our issued patents are valid or that any patents applied for will be issued, and that our competitors or clients will not copy aspects of our lighting systems or obtain information that we regard as proprietary. There can also be no assurance that others will not independently develop products similar to ours. The laws of some foreign countries in which we manufacture, sell or may sell our products do not protect proprietary rights to products to the same extent as the laws of the United States.&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Insurance</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All of our properties and equipment are covered by insurance and we believe that such insurance is adequate. In addition, we maintain general liability, product recall and workers&#8217; compensation insurance in amounts we believe to be consistent with our risk of loss and industry practice. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Regulatory Compliance</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We derive a significant portion of our revenues from direct and indirect sales to U.S., state, local and foreign governments and their respective agencies. Contracts with government customers are subject to various procurement laws and regulations, business prerequisites to qualify for such contracts, accounting procedures, intellectual property processes, and contract provisions relating to their formation, administration and performance, which may provide for various rights and remedies in favor of the governments that are not typically applicable to or found in commercial contracts.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, although not legally required to do so, we strive to obtain certification for substantially all our products. In the United States, we seek certification on substantially all of our products from UL</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, Intertek Testing Services (&#8220;ETL</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-4.2pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8221;), or DesignLights Consortium (&#8220;DLC&#8482;&#8221;). Where appropriate in jurisdictions outside the United States, we seek to obtain other similar national or regional certifications for our products. Although we believe that our broad knowledge and experience with electrical codes and safety standards have facilitated certification approvals, we cannot ensure that we will be able to obtain any such certifications for our new products or that, if certification standards are amended, we will be able to maintain such certifications for our existing products.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Human Capital</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, we had 58 full-time employees, all of whom were based in the United States, and no part-time employees. We also had four temporary contractors at December&#160;31, 2021. None of our employees or contractors are subject to collective bargaining agreements and we consider our relationship with our employees to be good. We encourage and support the growth and development of our employees. Continual learning and career development is advanced through ongoing performance and development conversations with employees and reimbursement is available to employees for seminars, conferences, formal education, and other training events employees attend in connection with their job duties.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our core values of accountability, trust, extraordinariness, fun, openness, integrity and kindness underscore everything we do and drive our day-to-day interactions. The safety, health and wellness of our employees is a top priority. The COVID-19 pandemic has presented a unique challenge with regard to maintaining employee safety while continuing successful operations. Through teamwork and the adaptability of our management and staff, we have been able to transition some of our corporate office employees to effectively working from remote locations on a full-time basis, with others working both remotely and in the office on a hybrid basis, and also to ensure a safely-distanced working environment for employees who remain in our facility.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our human capital resources objectives include, as applicable, identifying, recruiting, retaining, incentivizing and integrating our current and future employees. The principal purposes of our annual bonus plan and equity incentive plan are to attract, retain and motivate employees through the granting of long-term incentive compensation awards.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Business Segments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We currently operate in a single business segment that includes the marketing and sale of commercial and MMM lighting products and controls and UVCD products. Please refer to Note 12, &#8220;Product and Geographic Information,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report, for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Available Information</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal executive offices are located at 32000 Aurora Road, Suite B, Solon, Ohio 44139. Our telephone number is 440.715.1300. Our website address is www.energyfocus.com. We are providing the address to our website solely for the information of investors. The information on our website is not a part of, nor is it incorporated by reference into this Annual Report. Through our website, we make available, free of charge, our annual proxy statement, annual reports on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K and amendments to those reports filed or furnished pursuant to Section&#160;13(a)&#160;or 15(d)&#160;of the Securities Exchange Act of 1934, as amended, or the Exchange Act, as soon as reasonably practicable after we electronically file such material with, or furnish them to, the Securities and Exchange Commission, or the SEC. The SEC maintains a website that contains these reports at&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">www.sec.gov</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_19"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1A. RISK FACTORS</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Associated with Our Business</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The COVID-19 pandemic could continue to have an adverse effect on our business.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The COVID-19 pandemic continues to have an unprecedented impact on the U.S. economy as federal, state and local governments react to this public health crisis, which continues to create significant uncertainties. These uncertainties include, but are not limited to, the adverse effect of the pandemic on the economy, our supply chain partners, transportation and logistics providers, our employees and customers. As the pandemic continues and infection rates oscillate with new variants, fear about becoming ill with the virus and recommendations or mandates from federal, state and local authorities to avoid large gatherings of people or self-quarantine may recur or continue to increase, which has already affected, and may continue to affect our supply chain, as well as our customer base. Continued impacts of the pandemic could materially adversely affect our near-term and long-term revenues, earnings, liquidity and cash flows, and may require significant actions in response, including, but not limited to, employee furloughs, workforce reductions, plant or other operational shut-downs, expense reductions or discounting of pricing of our products, all in an effort to mitigate such impacts. The extent of the ongoing impact of the pandemic on our business and financial results will depend largely on future developments, including the duration of the spread of the outbreak within the United States, including new variants, the timing and success of vaccine programs, the impact on capital and financial markets and the related impact on consumer confidence and spending, all of which are highly uncertain and cannot be predicted. This situation is changing rapidly, and additional impacts may arise that we are not aware of currently.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We depend on our executive leadership, management and key employees. Our lead independent director is currently serving as Interim Chief Executive Officer while we search for a new Chief Executive Officer. Delays or other challenges in identifying, attracting and retaining a new Chief Executive Officer could adversely impact our business. </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2022, our lead independent director assumed the title of Interim Chief Executive Officer, replacing our former Chief Executive Officer, while a search is conducted for a new long-term Chief Executive Officer. It is very important that we are able to attract and retain a highly skilled Chief Executive Officer, in order to execute on the opportunities available to us. Competition for qualified executives can be intense, and there are a limited number of people with the requisite knowledge and experience. Under these conditions, we could be delayed in or otherwise unable to recruit and retain the right leader for our organization. If we cannot attract and retain a qualified Chief Executive Officer, or fail to do so in a timely manner, it could have a material adverse impact on our operating results and stock price.</span></div><div><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">If we are unable to attract or retain qualified personnel, our business and product development efforts could be harmed.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are highly dependent on our senior management and other key personnel due to our very lean organizational structure. Our future success will depend on our ability to attract, retain, develop and motivate qualified executive, technical, sales, marketing, operating, financial and management personnel, for whom competition is very intense. As we attempt to rapidly grow our business, it could be especially difficult to attract, retain and adequately compensate qualified personnel, especially in light of our lean cost structure and the tightening of the labor market due to the effects of the COVID-19 pandemic, which has led to increased competition for employees. The loss of, or failure to attract, hire, and retain any such persons could delay product development cycles, disrupt our operations, increase our costs, or otherwise harm our business or results of operations. We also do not maintain &#8220;key person&#8221; insurance policies on any of our officers or our other employees, nor have employment contracts.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We rely on equity and debt financing to operate our business and will require additional financing in the near term, which we may not be able to raise on favorable terms or at all, and our failure to obtain funding when needed may force us to delay, scale back or eliminate our business plan or even discontinue or curtail our operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the year ended December&#160;31, 2021, we reported a net loss of $7.9 million and are dependent upon the availability of financing in order to continue our business.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed the December 2021 Private Placement with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors the December 2021 Warrants, consisting of, (i) Pre-Funded Warrants to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) additional warrants to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. Net proceeds from the December 2021 Private Placement were approximately $4.0 million.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of 1,363,641 shares remain outstanding with a weighted average exercise price of $3.30 per share. None of the December 2021 Warrants were exercised as of December 31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5&#160;million in the aggregate. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2021, we completed the June 2021 Equity Offering, in which we issued and sold 990,100 shares of our common stock to certain institutional investors, at a purchase price of $5.05 per share. Net proceeds to us from the June 2021 Equity Offering were approximately $4.5 million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 11, 2020, we entered into revolving lines of credit with Crossroads Financial Group, LLC (the &#8220;Inventory Facility&#8221;) and Factors Southwest L.L.C. (d/b/a FSW Funding) (the &#8220;Receivables Facility&#8221; and, together with the Inventory Facility, the &#8220;Credit Facilities&#8221;). The Receivables Facility capacity is $2.5 million, and the Inventory Facility capacity was increased (from $3.0 million) to $3.5 million in April 2021. As of December&#160;31, 2021, we had cash of approximately $2.7 million and had debt balances of $1.2 million and $1.0 million under the Inventory Facility and the Receivables Facility, respectively. In addition, our accounts receivable balance was $1.2 million and our gross inventory balance was $10.9 million on December&#160;31, 2021. As of February 28, 2022, our cash was approximately $0.3 million and our total outstanding net balance under the Credit Facilities was approximately $1.6 million in the aggregate. Also, our accounts receivable balance was $0.7 million and our gross inventory balance was $10.6 million on February 28, 2022. Our ability to draw on the Receivables Facility is limited based on the amount of eligible accounts receivable, and our ability to draw on the Inventory Facility is limited based on the value of our eligible inventory. The repayment of outstanding advances and interest under the Credit Facilities may be accelerated upon an event of default, including, but not limited to, failure to make timely payments or breach of any terms set forth in the loan agreements. The Credit Facilities are secured by our assets and are subject to customary affirmative and negative operating covenants and defaults, restricting indebtedness, liens, corporate transactions, dividends, and affiliate transactions, among others. The maturity date of the Credit Facilities is August 11, 2022. There can be no assurance that this facility will be renewed or replaced on commercially reasonable terms or at all.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Even with access to borrowings under the Credit Facilities, we may not generate sufficient cash flows from our operations or be able to borrow sufficient funds to sustain our operations. As such, we will likely need additional external financing during 2022 and will continue to review and pursue external funding sources including, but not limited to, the following:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining financing from traditional or non-traditional investment capital organizations or individuals;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining funding from the sale of our common stock or other equity or debt instruments; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining debt financing with lending terms that more closely match our business model and capital needs.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional financing contains risks, including:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">additional equity financing may not be available to us on satisfactory terms and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">loans or other debt instruments may have terms or conditions, such as interest rates, restrictive covenants and control or revocation provisions, which are not acceptable to management or our board of directors (the &#8220;Board of Directors&#8221;); and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the current environment in the capital markets combined with our capital constraints may prevent us from being able to obtain adequate debt financing.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, if we are unable to find a permanent Chief Executive Officer, it may be more difficult to obtain additional financing on satisfactory terms or at all. If we fail to obtain the required additional financing to sustain our business before we are able to produce levels of revenue to meet our financial needs, we will need to delay, scale back or eliminate our business plan and further reduce our operating costs and headcount, each of which would have a material adverse effect on our business, future prospects, and financial condition. A lack of additional financing could also result in our inability to continue as a going concern and force us to sell certain assets or discontinue or curtail our operations and, as a result, investors in the Company could lose their entire investment.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our independent registered public accounting firm&#8217;s opinion on our audited financial statements for the fiscal year ended December&#160;31, 2021, included in this Annual Report, contains a modification relating to our ability to continue as a going concern.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our independent registered public accounting firm&#8217;s opinion on our audited financial statements for the year ended December&#160;31, 2021 includes a modification stating that our losses and negative cash flows from operations and uncertainty in generating sufficient cash to meet our obligations and sustain our operations raise substantial doubt about our ability to continue as a going concern. In addition, Note 3 &#8220;Restructuring&#8221;, to our financial statements included in Part II, Item 8 &#8220;Financial </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Statements and Supplementary Data,&#8221; of this Annual Report includes disclosure describing the existence of conditions that raise substantial doubt about our ability to continue as a going concern for a reasonable period of time.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While we continue to pursue funding sources and transactions that could raise capital, there can be no assurances that we will be successful in these efforts or will be able to resolve our liquidity issues or eliminate our operating losses. If we are unable to generate enough cash or obtain sufficient additional funding, we would need to scale back or significantly adjust our business plan, further reduce our operating costs and headcount, or discontinue or curtail our operations. Accordingly, our business, prospects, financial condition and results of operations could be materially and adversely affected, and we may be unable to continue as a going concern. If we are unable to continue as a going concern, we may have to liquidate our assets and may receive less than the value at which those assets are carried on our audited consolidated financial statements, and it is likely that investors will lose all or a part of their investment. Our financial statements do not include any adjustments that might result from the outcome of this uncertainty.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We have a history of operating losses and will incur losses in the future as we continue our efforts to grow sales and streamline our operations at a profitable level.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have incurred substantial losses in the past and reported net losses from operations of $7.9 million and $6.0 million for the years ended December&#160;31, 2021 and 2020, respectively. As of December&#160;31, 2021, we had an accumulated deficit of $138.7 million and cash of approximately $2.7 million, compared to an accumulated deficit of $130.9 million and cash of approximately $1.8 million as of December&#160;31, 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In order for us to operate our business profitably, we need to grow our sales, maintain cost control discipline while balancing development of our new product pipeline and potential long-term revenue growth, continue our efforts to reduce product cost, drive further operating efficiencies and develop and execute a strategic product pipeline for profitable and compelling LED lighting and control and UVCD products. There is a risk that our strategy to return to profitability may not be as successful as we envision, or occur as quickly as we expect. We might require additional financing in the near-term and, if our operations do not achieve, or we experience an unanticipated delay in achieving, our intended level and pace of profitability, we will continue to need additional funding, none of which may be available on favorable terms or at all and could require us to sell certain assets or discontinue or curtail our operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">While we are attempting to diversify our customer base, we have historically derived a significant portion of our revenue from a few customers, and the loss of one of these customers, or a reduction in their demand for our products, could adversely affect our business, financial condition, results of operations, and prospects.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically our customer base has been highly concentrated and a few customers have represented a substantial portion of our net sales. In 2021, two customers accounted for 43% of net sales. Total sales to our primary distributor to the U.S. Navy and a primary shipbuilder for the U.S. Navy represented 38% of net sales in 2021. In 2020, two customers accounted for 62% of net sales. Total sales to our primary distributor to the U.S. Navy, and a primary shipbuilder for the U.S. Navy represented 53% of net sales in 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generally do not have long-term contracts with our customers that commit them to purchase any minimum amount of our products or require them to continue to do business with us. We could lose business from any one of our significant customers for a variety of reasons, many of which are outside of our control, including the impact of the COVID-19 pandemic, changes in levels of government funding and rebate programs, our inability to comply with government contracting laws and regulations, changes in customers&#8217; procurement strategies or their lighting retrofit plans, changes in product specifications, additional competitors entering particular markets, our failure to keep pace with technological advances and cost reductions, and damage to our professional reputation, among others.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are attempting to expand and diversify our customer base and reduce the dependence on one or a few customers, through the addition of sales representatives and other potential marketing partnerships and our direct-to-customer sales strategy, as well as expanding our consumer-focused product offerings, including our focus on the UVCD-space, but we cannot provide any assurance that our efforts will be successful. We anticipate that a limited number of customers could continue to comprise a substantial portion of our revenue for the foreseeable future. If we continue to do business with our significant customers, our concentration can cause variability in our results because we cannot control the timing or amounts of their purchases. A significant customer could cease to do or drastically reduce its business with us with little or no notice, which could adversely affect our results of operations and cash flows in particular periods.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically, we have experienced long sales-cycles, as well as slow ramp-up by new customers to purchase large amounts of LED products from us. Given the fiercely competitive lighting market in which we operate, we are constantly trying to balance pricing with the quality-premium our products command both in brand reputation and performance. As a result, adding new </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">customers could generally be a slow process, and increasing new customers&#8217; sales to more significant levels usually takes a long period of time. As we continue to develop more customer-centric new products such as EnFocus&#8482; and nUVo&#8482;, we hope to both add new customers more quickly and have our customers scale their purchasing levels more quickly. Our UVCD portfolio of products also expands our traditional government and commercial markets to include the consumer market, increasing the scope and expense of our marketing efforts. However, there is no guarantee of faster customer acceptance or performance of these new products or any other that has been or is being developed.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">If critical components and finished products that we currently research and develop with and purchase from a small number of third-party development partners and suppliers become unavailable or increase in price, or if our development partners, suppliers or delivery channels fail to meet our requirements for quality, quantity, and timeliness, our revenue and reputation in the marketplace could be harmed, which would damage our busine</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ss.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In an effort to reduce research and development and manufacturing costs, we have outsourced the research, development and production of certain parts and components, as well as finished goods in our product lines, to a small number of vendors in various locations throughout the world, primarily in the United States, Malaysia, Taiwan and China. We generally purchase these sole or limited source items with purchase orders, and we have limited guaranteed supply arrangements with such suppliers. While we believe alternative sources for these components and products are available, we have selected these particular suppliers based on their ability to provide quality products at a cost-effective price, to meet our specifications, and to deliver within scheduled time frames. We do not control the time and resources that these suppliers devote to our business, and we cannot be sure that these suppliers will perform their obligations to us. If our ability to manage third-party product development efforts are unsuccessful or our suppliers fail to perform their obligations in a timely manner or at satisfactory quality levels, we may suffer lost or delayed sales, increased costs of goods sold, reductions in revenue or margin, and damage to our reputation in the market, all of which would adversely affect our business. As demand for our products fluctuates, which fluctuations can be hard to predict, we may not need a sustained level of inventory, which may cause financial hardship for our suppliers or they may need to divert production capacity elsewhere. In the past, we have had to purchase quantities of certain components that are critical to our product manufacturing and were in excess of our estimated near-term requirements as a result of supplier delivery constraints and concerns over component availability, and we may need to do so in the future. As a result, we have had, and may need to continue, to devote additional working capital to support a large amount of component and raw material inventory that may not be used over a reasonable period to produce saleable products, and we may be required to increase our excess and obsolete inventory reserves to provide for these excess quantities, particularly if demand for our products does not meet our expectations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may be vulnerable to unanticipated product development delays, price increases and payment term changes. Significant increases in the prices of sourced components and products and shipping costs, could cause our product prices to increase, which may reduce demand for our products or make us more susceptible to competition. Furthermore, in the event that we are unable to pass along increases in operating costs to our customers, margins and profitability may be adversely affected. Accordingly, the loss of all or one of these suppliers could have a material adverse effect on our operations until such time as an alternative supplier could be found.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, consolidation in the lighting industry could result in one or more current suppliers being acquired by a competitor, rendering us unable to continue purchasing key components and products at competitive prices.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also may be subject to various import duties and tariffs applicable to materials manufactured in foreign countries and may be affected by various other import and export restrictions, as well as other considerations or developments impacting upon international trade, including economic or political instability, tariffs, shipping delays and product quotas. These international trade factors will, under certain circumstances, have an impact on the cost of components, which will have an impact on the cost to us of the manufactured product and the wholesale and retail prices of our products.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We rely on arrangements with independent shipping companies for the delivery of our products from vendors abroad. The failure or inability of these shipping companies to deliver products or the unavailability of shipping or port services, even temporarily, could have a material adverse effect on our business. We may also be adversely affected by an increase in freight surcharges due to global logistics capacity constraints, rising fuel costs and added security costs.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">If we are unable to implement plans to increase sales and control expenses to manage future growth effectively, our profitability goals and liquidity will be adversely affected.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our ability to achieve our desired growth depends on the adoption of high quality LED lighting and controls within the general lighting market, the adoption of our UVCD products within the healthy home and workspace markets, and our ability to affect and adapt to these rates of adoption. The pace of continued growth in these markets is uncertain, and in order to grow our sales, we may need to:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">manage organizational complexity and ensure effective and timely communication;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">expand the skills and capabilities of our current management, engineering and sales teams;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">add experienced senior level managers;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">attract, retain and adequately compensate qualified employees;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">adequately maintain and adjust the operational and financial controls that support our business;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">expand research and development, sales and marketing, technical support, distribution capabilities, manufacturing planning or administrative functions and capabilities;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">maintain or establish additional manufacturing facilities and equipment, as well as secure sufficient third-party manufacturing resources, to adequately meet customer demand or lower manufacturing costs; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">manage an increasingly complex supply chain to maintain a sufficient supply of materials and deliver on time to our manufacturing facilities.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These efforts to grow our business, both in terms of size and in diversity of customer bases served, may put a significant strain on our resources. We have implemented comprehensive cost-saving initiatives to reduce our net loss and mitigate doubt about our ability to continue as a going concern. These initiatives have improved efficiency and streamlined our operations, but we continue to operate at a loss and may need additional funding or further cost-cutting to manage liquidity.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our possible future growth may exceed our current capacity and require rapid expansion in certain functional areas.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may lack sufficient funding to appropriately expand or incur significant expenses as we attempt to scale our resources and make investments in our business that we believe are necessary to achieve short-term and long-term growth goals. Such investments take time to become fully operational, and we may not be able to expand quickly enough to exploit targeted market opportunities. In addition to our own manufacturing capacity, we are increasingly utilizing contract manufacturers and original design manufacturers (&#8220;ODMs&#8221;) to produce our products for us. There are also inherent execution risks in expanding product lines and production capacity, whether through our facilities or that of a third-party manufacturer, that could increase costs and reduce our operating results, including design and construction cost overruns, poor production process yields and reduced quality control. If we are unable to fund any necessary expansion or manage our growth effectively, we may not be able to adequately meet demand, our expenses could increase without a proportionate increase in revenue, our margins could decrease, and our business and results of operations could be adversely affected.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our results of operations, financial condition and business could be harmed if we are unable to balance customer demand and capacity.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As our customer base and customer demand for our products changes and as we launch new products, we must be able to adjust our production capacity to meet demand. We are continually taking steps to address our manufacturing capacity needs for our products. If we are not able to increase or decrease our production capacity at our targeted rate or if there are unforeseen costs associated with adjusting our capacity levels or there are unanticipated interruptions in our global supply chain or logistics from such possibilities as the COVID-19 pandemic, shifting workforces or energy policies, we may not be able to achieve our financial targets. In addition, as we introduce new products and further refine existing products, we must balance the production and inventory of prior generation products with the production and inventory of new products, whether manufactured by us or our contract manufacturers, to maintain a product mix that will satisfy customer demand and mitigate the risk of incurring cost write-downs on the previous generation products, related raw materials and tooling.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If customer demand does not materialize at the rate forecasted, we may not be able to scale back our manufacturing expenses or overhead costs to correspond to the demand. This could result in lower margins, write-downs of our inventory and adversely impact our business and results of operations. Additionally, if product demand decreases or we fail to forecast demand accurately, our results may be adversely impacted due to higher costs resulting from lower factory utilization, causing higher fixed costs per unit produced. In addition, our efforts to improve quoted delivery lead-time performance may result in corresponding reductions in order backlog. A decline in backlog levels could result in more variability and less predictability in our quarter-to-quarter net sales and operating results.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">If we are not able to compete effectively against companies with lower cost structures or greater resources, or new competitors who enter our target markets, our sales will be adversely affected.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The lighting industry is highly competitive. In the high-performance lighting markets in which we sell our advanced lighting systems, our products compete with lighting products utilizing traditional lighting technology provided by many vendors. Our higher quality and value advanced lighting and control systems also face competition from lower quality, commodity lighting products when customers may be overly purchase-price sensitive.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For sales of MMM products, we compete with a small number of qualified military lighting lamp and fixture suppliers. In certain commercial applications, we typically compete with LED systems produced by large lighting companies. Our primary competitors include Signify, Osram Sylvania, LED Smart, Revolution Lighting Technologies, Orion Energy Systems, Green Creative and Keystone Technologies. Some of these competitors offer products with performance characteristics similar to those of our products. Many of our competitors are larger, more established companies with greater resources to devote to research and development, manufacturing and marketing, as well as greater brand recognition. In addition, larger competitors who purchase greater unit volumes from component suppliers may be able to negotiate lower costs, thereby enabling them to offer lower pricing to end customers. Moreover, the relatively low barriers to entry into the lighting industry and the limited proprietary nature of many lighting products also permit new competitors to enter the industry easily and with lower costs.&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In each of our markets, we also anticipate the possibility that LED component manufacturers, including those that currently supply us with LEDs, may seek to compete with us. Our competitors&#8217; lighting technologies and products may be more readily accepted by customers than our products will be. Moreover, if one or more of our competitors or suppliers were to merge, the change in the competitive landscape could adversely affect our competitive position. Additionally, to the extent that competition in our markets intensifies, we may be required to further reduce our prices in order to remain competitive. If we do not compete effectively, or if we reduce our prices without making commensurate reductions in our costs, our net sales, margins, and profitability and our future prospects for success may be harmed.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We work with independent agents and sales representatives for a portion of our net sales, and the failure to incentivize, retain and manage our relationships with these third parties, or the termination of these relationships, could cause our net sales to decline and harm our business.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the past, we pursued an agency-driven sales channel strategy in order to expand our market presence throughout the United States. As a result, at that time, we had increased our reliance on independent sales agent channels to market and sell our LED lighting and control products. In addition, these parties provide technical sales support to end-users. The current agreements with our agents are generally non-exclusive on the agents&#8217; product portfolio, meaning they can sell our competitors&#8217; products. Any such agreements we enter into in the future may be on similar terms. Our agents may not be motivated to or successfully pursue the sales opportunities available to them, or they may prefer to sell or be more familiar with the products of our competitors. If our agents do not achieve our sales objectives or these relationships take significant time to develop, our revenue may decline, fail to grow or not increase as rapidly as we intend in order to achieve profitability and grow our business. During 2020 and 2021, we significantly reduced our reliance on agencies for a substantial portion of our sales, and refocused our agency relationships on those that were both mutually beneficial and strategically important. Although we believe that our agency strategy will increase the role of independent agents and sales representatives over time, direct sales using internal sales personnel still account for a substantial portion of our sales, and our agency plans may take longer to contribute significantly to our operating results.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furthermore, our agency agreements are generally short-term and can be cancelled by either party without significant financial consequence. The termination of or the inability to negotiate extensions of these contracts on acceptable terms could adversely impact sales of our products. Additionally, we cannot be certain that we or end-users will be satisfied by their performance. If these agents significantly change their terms with us, or change their end-user relationships, there could be an impact on our net sales and profits.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">If our LED lighting and control technology or our UVCD products fail to gain widespread market acceptance or we are unable to respond effectively as new technologies and market trends emerge, our competitive position and our ability to generate revenue, and profits may be harmed.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To be successful in our respective markets for LED lighting and control technology and our UVCD products, we depend on continued market acceptance of our existing LED lighting and control technology establishing market acceptance for our new UVCD products, including in the consumer and commercial markets. Although adoption of LED lighting and air and surface sanitation products continues to grow, including in response to the COVID-19 pandemic and increased awareness of sanitation, the use of LED lighting products for general illumination and the use of UVCD products for air and surface sanitation are in their early stages of market adoption, are still limited, and face significant challenges. Potential customers may be reluctant to adopt LED lighting products as an alternative to traditional lighting technology or UVCD products as an alternative to </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">traditional chemical-based sanitation because of their higher initial costs or perceived risks relating to their novelty, reliability, usefulness, quality and cost-effectiveness when compared to other established lighting sources and sanitation processes available in the market. Changes in economic and market conditions may also make traditional lighting and sanitation technologies more appealing. For example, declining energy prices in certain regions or countries may favor existing lighting technologies that are less energy-efficient, reducing the rate of adoption for LED lighting products in those areas. Notwithstanding continued performance improvements and cost reductions of LED lighting and UVCD technologies, limited customer awareness of the benefits of LED lighting and UVCD products, lack of widely accepted standards governing LED lighting and UVCD products and customer unwillingness to adopt LED lighting and UVCD products could significantly limit the demand for LED lighting and UVCD products. Even potential customers that are inclined to adopt energy-efficient lighting technology or new or increased sanitation technologies may defer investment as LED lighting and UVCD products continue to experience rapid technological advances. Any of the foregoing could adversely impact our results of operations and limit our market opportunities.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, we will need to keep pace with rapid changes in LED lighting and control technology and UVCD air and surface sanitation technology, changing customer requirements, new product introductions and cost reductions by competitors and evolving industry standards, any of which could render our existing products obsolete if we fail to respond in a timely manner. The development, introduction, and acceptance of new, re-designed or reduced cost products incorporating advanced technology is a complex process subject to numerous uncertainties, including:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">available funding to sustain adequate development efforts;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">achievement of technology breakthroughs required to make commercially viable devices, and in turn, protecting those breakthroughs through intellectual property;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the accuracy of our predictions for market requirements;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to predict, influence, or react to evolving standards;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">acceptance of our new product designs;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">acceptance of new technologies in certain markets;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the combination of other desired technological advances with lighting products, such as controls;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the availability of qualified research and development personnel;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our timely completion of product designs and development;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to develop repeatable processes to manufacture new products in sufficient quantities, with the desired specifications, and at competitive costs;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to effectively transfer products and technology from development to manufacturing; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">market acceptance of our products.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We could experience delays in the introduction of these products. We could also devote substantial resources to the development of new technologies or products that are ultimately not successful.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If effective new sources of light, other than LEDs, or effective new sanitation technologies, other than UVCD, are discovered and commercialized, our current products and technologies could become less competitive or obsolete. If others develop innovative proprietary lighting or sanitation technology that is superior to ours, or if we fail to accurately anticipate technology, pricing and market trends, address market saturation and customer confusion, respond on a timely basis with our own development of new and reliable products and enhancements to existing products, and achieve broad market acceptance of these products and enhancements, our competitive position may be harmed and we may not achieve sufficient growth in our net sales to attain or sustain profitability.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our operating results may fluctuate due to factors that are difficult to forecast and not within our control.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our past operating results may not be accurate indicators of future performance, and you should not rely on such results to predict our future performance. Our operating results have fluctuated significantly in the past and could fluctuate in the future. Factors that may contribute to fluctuations include:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in aggregate capital spending, cyclicality and other economic conditions, including inflationary pressures, or domestic and international demand in the industries;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the timing of large customer orders to which we may have limited visibility and cannot control;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">competition for our products, including the entry of new competitors and significant declines in competitive pricing;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to effectively manage our working capital;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to generate increased demand in our current and targeted markets, particularly those in which we have limited experience;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to satisfy customer demands in a timely and cost-effective manner;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">pricing and availability of labor and materials;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">quality testing and reliability of new products;</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our inability to adjust certain fixed costs and expenses for changes in demand and the timing and significance of expenditures that may be incurred to facilitate our growth;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">macroeconomic, geopolitical and health concerns, including the COVID-19 pandemic;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">seasonal fluctuations in demand and our revenue; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">disruption in component supply from foreign vendors.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Depressed general economic conditions may adversely affect our operating results and financial condition.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our business is sensitive to changes in general economic conditions, both inside and outside the United States. Slow growth in the economy or an economic downturn, particularly one affecting construction and building renovation, or that causes end-users to reduce or delay their purchases of lighting products, services, or retrofit activities, would have a material adverse effect on our business, cash flows, financial condition and results of operations. LED lighting retrofit projects, in particular, tend to require a significant capital commitment, which is offset by cost savings achieved over time. As such, a lack of available capital, whether due to economic factors or conditions in the equity or debt markets, could have the effect of reducing demand for our products. A decrease in demand could adversely affect our ability to meet our working capital requirements and growth objectives, or could otherwise adversely affect our business, financial condition, and results of operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Customers may be unable to obtain financing to make purchases from us.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some of our customers require financing in order to purchase our products, and the initial investment is higher than that which is required with traditional lighting products. The potential inability of these customers to access the capital needed to finance purchases of our products and meet their payment obligations to us could adversely impact the appeal of our products relative to those with lower upfront costs and have a negative impact on our financial condition and results of operations. There can be no assurance that third-party finance companies will provide capital to our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">A significant portion of our business is dependent upon the existence of government funding, which may not be available into the future and could result in a reduction in sales and harm to our business.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some of our customers are dependent on governmental funding, including U.S. and foreign allied navies and U.S. military bases. If any of these customers or potential customers abandon, curtail, or delay planned LED lighting retrofit projects as a result of the levels of funding available to them or changes in budget priorities, it would adversely affect our opportunities to generate product sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our products could contain defects, or they may be installed or operated incorrectly, which could reduce sales of those products or result in claims against us.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Despite product testing, defects may be found in our existing or future products. This could result in, among other things, a delay in the recognition or loss of net sales, the write-down or destruction of existing inventory, insurance recoveries that fail to cover the full costs associated with product recalls or other claims, significant warranty, support, and repair costs, diversion of the attention of our engineering personnel from our product development efforts, and damage to our relationships with our customers. The occurrence of these problems could also result in reputational and brand damage or the delay or loss of market acceptance of our lighting products and would likely harm our business. In addition, our customers may specify quality, performance, and reliability standards that we must meet. If our products do not meet these standards, we may be required to replace or rework the products. In some cases, our products may contain undetected defects or flaws that only become evident after shipment. Even if our products meet standard specifications, our customers may attempt to use our products in applications for which they were not designed or in products that were not designed or manufactured properly, resulting in product failures and creating customer satisfaction issues.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some of our products use line voltages (such as 120 or 240 volts AC), which involve enhanced risk of electrical shock, injury or death in the event of a short circuit or other malfunction. Defects, integration issues or other performance problems in our lighting products could result in personal injury or financial or other damages to end-users or could damage market acceptance of our products. Our customers and end-users could also seek damages from us for their losses. A product liability claim brought against us, even if unsuccessful, would likely be time consuming and costly to defend and the adverse publicity generated by such a claim against us or others in our industry could negatively impact our reputation.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We provide warranty periods generally ranging from one to ten years on our LED lighting products and one year for our UVCD products. Although we believe our reserves are appropriate, we are making projections about the future reliability of new products and technologies, and we may experience increased variability in warranty claims. Increased warranty claims could result in significant losses due to a rise in warranty expense and costs associated with customer support.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our industry is characterized by vigorous protection and pursuit of intellectual property rights and positions, which may result in protracted and expensive litigation.&#160;We have engaged in litigation in the past and litigation may be necessary in the future to enforce our intellectual property rights or to determine the validity and scope of the proprietary rights of others. Litigation may also be necessary to defend against claims of infringement or invalidity by others. Additionally, we could be required to defend against individuals and groups who have been purchasing intellectual property assets for the sole purpose of making claims of infringement and attempting to extract settlements from companies like ours. Litigation could delay development or sales efforts and an adverse outcome in litigation, or any similar proceedings, could subject us to significant liabilities, require us to license disputed rights from others or require us to cease marketing or using certain products or technologies. We may not be able to obtain any licenses on acceptable terms, if at all, and may attempt to redesign those products that contain allegedly infringing intellectual property, which may not be possible. We also may have to indemnify certain customers if it is determined that we have infringed upon or misappropriated another party&#8217;s intellectual property. The costs of addressing any intellectual property litigation claim, including legal fees and expenses and the diversion of management resources, regardless of whether the claim is valid, could be significant and could materially harm our business, financial condition, and results of operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, we have been and may in the future be subject to claims or allegations that we infringe upon or have misappropriated the intellectual property of third parties. Defending against such claims is costly and intellectual property litigation often involves complex questions of fact and law, with unpredictable results. We may be forced to acquire rights to such third-party intellectual property on unfavorable terms (if rights are made available at all), pay damages, modify accused products to be non-infringing, or stop selling the applicable product altogether.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We may be subject to confidential information theft or misuse, which could harm our business and results of operation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">s.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We face attempts by others to gain unauthorized access to our information technology systems on which we maintain proprietary and other confidential information. Our security measures may be breached as the result of industrial or other espionage actions of outside parties, employee error, malfeasance or otherwise, and as a result, an unauthorized party may obtain access to our systems. In addition, these same risks to our information technology systems also apply to the third-party service providers&#8217; information technology systems utilized by the Company. Additionally, outside parties may attempt to access our confidential information through other means, for example by fraudulently inducing our employees to disclose confidential information. We actively seek to prevent, detect and investigate any unauthorized access, which occasionally occurs despite our best efforts. We might be unaware of any such access or unable to determine its magnitude and effects. The theft, corruption or unauthorized use or publication of our trade secrets and other confidential business information as a result of such an incident could adversely affect our competitive position and the value of our investment in research and development could be reduced. Our business could be subject to significant disruption, widespread negative publicity and a loss of customers, and we could suffer legal liabilities and monetary or other losses.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We have international operations and are subject to risks associated with operating in international markets.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We outsource the production of certain parts and components, as well as finished goods in certain product lines, to a small number of vendors in various locations outside of the United States, including Malaysia, Taiwan and China. Although we do not currently generate significant sales from customers outside the United States, we are targeting foreign allied navies as a potential opportunity to generate additional sales of our MMM products as well as a limited number of foreign geographic markets which we expect to expand over time.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">International business operations are subject to inherent risks, including, among others:&#160;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">difficulty in enforcing agreements and collecting receivables through foreign legal systems;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">unexpected changes in regulatory requirements, tariffs, and other trade barriers, restrictions or disruptions;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">potentially adverse tax consequences;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">localized impacts of epidemics, pandemics or other contagious outbreaks, such as the COVID-19 pandemic;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the burdens of compliance with the U.S. Foreign Corrupt Practices Act, similar anti-bribery laws in other countries, and a wide variety of other laws;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">import and export license requirements and restrictions of the United States and each other country in which we operate;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">exposure to different legal standards and reduced protection for intellectual property rights in some countries;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">currency fluctuations and restrictions; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">political, social, and economic instability, including war and the threat of war, acts of terrorism, pandemics, boycotts, curtailment of trade, or other business restrictions.&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If we do not anticipate and effectively manage these risks, these factors may have a material adverse impact on our business operations.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Associated with Legal and Regulatory Matters</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We may be subject to legal claims against us or claims by us that could have a significant impact on our resulting financial performance.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At any given time, we may be subject to litigation or claims related to our products, intellectual property, suppliers, customers, employees, stockholders, distributors, sales representatives and sales of our assets, among other things, the disposition of which may have an adverse effect upon our business, financial condition, or results of operations. The outcome of litigation is difficult to assess or quantify. Lawsuits can result in the payment of substantial damages by defendants. If we are required to pay substantial damages and expenses as a result of these or other types of lawsuits, our business and results of operations would be adversely affected. Regardless of whether any claims against us are valid or whether we are liable, claims may be expensive to defend and may divert time and money away from our operations. Insurance may not be available at all or in sufficient amounts to cover any liabilities with respect to these or other matters. A judgment or other liability in excess of our insurance coverage for any claims could adversely affect our business and the results of our operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our business may suffer if we fail to comply with government contracting laws and regulations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We derive a significant portion of our revenues from direct and indirect sales to U.S., state, local and foreign governments and their respective agencies. Contracts with government customers are subject to various procurement laws and regulations, business prerequisites to qualify for such contracts, accounting procedures, intellectual property processes, and contract provisions relating to their formation, administration and performance, which may provide for various rights and remedies in favor of the governments that are not typically applicable to or found in commercial contracts. Failure to comply with these laws, regulations, or provisions in our government contracts could result in litigation, the imposition of various civil and criminal penalties, termination of contracts, forfeiture of profits, suspension of payments, or suspension from future government contracting. If our government contracts are terminated, if we are suspended from government work, or if our ability to compete for new contracts is adversely affected, our business could suffer due to, among other factors, lost sales, the costs of any government action or penalties, damages to our reputation and the inability to recover our investment in developing and marketing products for MMM use.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">If we are unable to obtain and adequately protect our intellectual property rights or are subject to claims that our products infringe on the intellectual property rights of others, our ability to commercialize our products could be substantially limited.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We consider our technology and processes proprietary. If we are not able to adequately protect or enforce the proprietary aspects of our technology, competitors may utilize our proprietary technology. As a result, our business, financial condition, and results of operations could be adversely affected. We protect our technology through a combination of patent, copyright, trademark and trade secret laws, employee and third-party nondisclosure agreements, and similar means. Despite our efforts, other parties may attempt to disclose, obtain, or use our technologies. Our competitors may also be able to independently develop products that are substantially equivalent or superior to our products or slightly modify our products. In addition, the laws of some foreign countries do not protect our proprietary rights as fully as do the laws of the United States. As a result, we may not be able to protect our proprietary rights adequately in the United States or abroad. Furthermore, there can be no assurance that we will be issued patents for which we have applied or obtain additional patents, or that we will be able to obtain licenses to patents or other intellectual property rights of third parties that we may need to support our business in the future. The inability to obtain certain patents or rights to third-party patents and other intellectual property rights in the future could have a material adverse effect on our business.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The ability to use our net operating loss carryforwards and certain other tax attributes may be limited.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have significant U.S. net operating loss and tax credit carryforwards (the &#8220;Tax Attributes&#8221;). Under federal tax laws, we can carry forward and use our Tax Attributes to reduce our future U.S. taxable income and tax liabilities until such Tax Attributes expire in accordance with the Internal Revenue Code of 1986, as amended (the &#8220;IRC&#8221;). Section 382 and Section 383 of the IRC provide an annual limitation on our ability to utilize our Tax Attributes, as well as certain built-in-losses, against future U.S. taxable income in the event of a change in ownership, as defined under the IRC. Share issuances in connection with our past financing transactions or other future changes in our stock ownership, which may be beyond our control, could result in changes in ownership for purposes of the IRC. Such changes in ownership could further limit our ability to use our Tax Attributes. Accordingly, any such occurrences could adversely affect our financial condition, operating results and cash flows.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The cost of compliance with environmental, health, safety, and other laws and regulations could adversely affect our results of operations or financial condition.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to a broad range of environmental, health, safety, and other laws and regulations. These laws and regulations impose increasingly stringent environmental, health, and safety protection standards and permit requirements regarding, among other things, air emissions, wastewater storage, treatment, and discharges, the use and handling of hazardous or toxic materials, waste disposal practices, the remediation of environmental contamination, and working conditions for our employees. Some environmental laws, such as the Comprehensive Environmental Response, Compensation and Liability Act of 1980, the Clean Water Act, and comparable laws in U.S. states and other jurisdictions world-wide, impose joint and several liability for the cost of environmental remediation, natural resource damages, third-party claims, and other expenses, without regard to the fault or the legality of the original conduct, on those persons who contributed to the release of a hazardous substance into the environment. We may also be affected by future laws or regulations, including those imposed in response to energy, climate change, geopolitical, or similar concerns. These laws may impact the sourcing of raw materials and the manufacture and distribution of our products and place restrictions and other requirements on the products that we can sell in certain geographical locations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We may be exposed to certain regulatory and financial risks related to climate change. </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Growing concerns about climate change may result in the imposition of additional regulations or restrictions to which we may</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">become subject. A number of governments or governmental bodies have introduced or are contemplating regulatory changes in </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">response to climate change. The outcome of new legislation or regulation in the U.S. and other jurisdictions in which we operate may result in new or additional requirements, fees or restrictions on certain activities. Compliance with these climate change initiatives may also result in additional costs to us, including, among other things, increased production costs, additional taxes, reduced emission allowances or additional restrictions on production or operations. Any adopted future climate change regulations could also negatively impact our ability to compete with companies situated in areas not subject to such limitations. We may not be able to recover the cost of compliance with new or more stringent laws and regulations, which could adversely affect our results of operations, cash flow or financial condition.</span></div><div><span><br/></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our net sales might be adversely impacted if our lighting systems do not meet certain certification and compliance standards.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required to comply with certain legal requirements governing the materials in our products. Although we are not aware of any efforts to amend any existing legal requirements or implement new legal requirements in a manner with which we cannot comply, our net sales might be adversely affected if such an amendment or implementation were to occur.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Moreover, although not legally required to do so, we strive to obtain certification for substantially all our products. In the United States, we seek certification on substantially all of our products from UL</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, ETL</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, or DLC&#8482;. Where appropriate in jurisdictions outside the United States, we seek to obtain other similar national or regional certifications for our products. Although we believe that our broad knowledge and experience with electrical codes and safety standards have facilitated certification approvals, we cannot ensure that we will be able to obtain any such certifications for our new products or that, if certification standards are amended, we will be able to maintain such certifications for our existing products. Moreover, although we are not aware of any effort to amend any existing certification standard or implement a new certification standard in a manner that would render us unable to maintain certification for our existing products or obtain ratification for new products, our net sales might be adversely affected if such an amendment or implementation were to occur.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">If we experience a material weakness in our internal control over financial reporting in the future or fail to otherwise maintain effective financial reporting systems and processes, we may be unable to accurately and timely report our financial results or comply with the requirements of being a public company, which could cause the price of our common stock to decline and harm our business.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a public company reporting to the SEC, we are subject to the reporting requirements of the Exchange Act and the Sarbanes-Oxley Act of 2002, including Section 404(a) that requires that we annually evaluate and report on our systems of internal controls.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We cannot be certain that we will not in the future have material weaknesses in our internal control over financial reporting, or that we will successfully remediate any that we find. In addition, the processes and systems of internal controls we have developed to date may not be adequate. Accordingly, there could be a reasonable possibility that material weaknesses could result in a misstatement of our accounts or disclosures that would result in a material misstatement of our financial statements that would not be prevented or detected on a timely basis, or cause us to fail to meet our obligations to file periodic financial reports on a timely basis. Any of these failures could result in adverse consequences that could materially and adversely affect our business, including an adverse impact on the market price of our common stock, potential action by the SEC against us, </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">possible defaults under our debt agreements, shareholder lawsuits, delisting of our stock, general damage to our reputation and the diversion of significant management and financial resources.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We rely heavily on information technology in our operations and any material failure, weakness, interruption or breach of security could prevent us from effectively operating our business, which could have a material adverse effect on our business, financial condition, and results of operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We rely heavily on our information technology systems, including our enterprise resource planning (&#8220;ERP&#8221;) and customer relationship management (&#8220;CRM&#8221;) software, across our operations and corporate functions, including for management of our supply chain, payment of obligations, data warehousing to support analytics, finance systems, accounting systems, and other various processes and procedures, some of which are handled by third parties, as well as lead generation, customer tracking, customer sourcing, etc. We also rely heavily on remote communication tools such as Microsoft Teams and Zoom to accommodate remote work environment and external meetings.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our ability to efficiently and effectively manage our business depends significantly on the reliability and capacity of these systems. Our business and results of operations may be adversely affected if we experience system usage problems. The failure of these systems to operate effectively, maintenance problems, system conversions, back-up failures, problems or lack of resources for&#160;upgrading or transitioning to new platforms or damage or interruption from circumstances beyond our control, including, without limitation, fire, natural disasters, power outages, systems failure, security breaches, cyber-attacks, viruses or human error could result in, among other things, transaction errors, processing inefficiencies, loss of data, inability to generate timely SEC reports, loss of sales and customers and reduced efficiency in our operations. Additionally, we and our customers could suffer financial and reputational harm if customer or Company proprietary information is compromised by such events. Remediation of such problems could result in significant unplanned capital investments and any damage or interruption could have a material adverse effect on our business, financial condition, and results of operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Associated with an Investment in Our Common Stock</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">As a &#8220;thinly-traded&#8221; stock with a relatively small public float, the market price of our common stock is highly volatile and may decline regardless of our operating performance.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our common stock is &#8220;thinly-traded&#8221; and we have a relatively small public float, which increases volatility in the share price and makes it difficult for investors to buy or sell shares in the public market without materially affecting our share price. Since the beginning of 2021, our market price has ranged from a low of $1.14 to a high of $9.64 and continues to experience significant volatility. Broad market and industry factors also may adversely affect the market price of our common stock, regardless of our actual operating performance. Factors that could cause wide fluctuations in our stock price may include, among other things:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">actual or anticipated variations in our financial condition and operating results;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">general economic conditions and trends;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">addition or loss of significant customers and the timing of significant customer purchases;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">our ability to effectively implement our growth plans, including new products, and the significance and timing of associated expenses;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">unanticipated impairments and other changes that reduce our earnings;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">overall conditions or trends in our industry;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the entry or exit of new competitors into our target markets;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">any litigation or legal claims;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the terms and amount of any additional financing that we may obtain, if any;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">unfavorable publicity;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">additions or departures of key personnel;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">geopolitical changes, global health concerns and macroeconomic changes;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">changes in the estimates of our operating results or changes in recommendations by any securities or industry analysts that elect to follow our common stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">market expectations following periods of rapid growth;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the potential impact of increased volatility due to elevated trading on the price of our stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">industry-wide news events that may affect market perceptions of the value of our stock; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">sales of our common stock by us or our stockholders, including sales by our directors and officers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because our common stock is thinly-traded, investors seeking to buy or sell a certain quantity of our shares in the public market may be unable to do so within one or more trading days and it may be difficult for stockholders to sell all of their shares in the market at any given time at prevailing prices. Any attempts to buy or sell a significant quantity of our shares could materially affect our share price. In addition, because our common stock is thinly-traded and we have a relatively small public float, the </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">market price of our shares may be disproportionately affected by any news, commentary or rumors regarding us or our industry, regardless of the source or veracity, which could also result in increased volatility.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, in the past, following periods of volatility in the market price of a company&#8217;s securities, securities litigation has often been instituted against these companies. Volatility in the market price of our shares could also increase the likelihood of regulatory scrutiny. Securities litigation, if instituted against us, or any regulatory inquiries or actions that we face could result in substantial costs, diversion of our management&#8217;s attention and resources and unfavorable publicity, regardless of the merits of any claims made against us or the ultimate outcome of any such litigation or action.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We could issue additional shares of common stock or preferred stock without stockholder approval, or new securities with terms or rights superior to those of our existing stockholders, which may adversely affect the market price of our common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect to require additional financing to fund future operations, including our research, development, sales and marketing activities. We are authorized to issue 50,000,000 shares of common stock of which 6,453,777 shares were issued and outstanding as of March&#160;14, 2022, and 5,000,000 shares of preferred stock, of which 876,447 were issued and outstanding as of March&#160;14, 2022. Our Board of Directors has the authority, without action or vote of our stockholders, to issue authorized but unissued shares of common and preferred stock subject to Nasdaq&#8217;s rules. Additionally, if we raise additional funds by issuing equity securities, the percentage ownership of our current stockholders will be reduced, and, if the equity securities issued are preferred shares, the holders of the new preferred shares may have rights superior to those of our existing stockholders, which could adversely affect rights of our existing stockholders and the market price of our common stock. In addition, in order to raise additional capital or acquire businesses in the future, we may need to issue securities that are convertible or exchangeable for shares of our common or preferred stock. If we raise additional funds by issuing debt securities, the holders of those debt securities would have some rights senior to those of our existing stockholders, and the terms of these debt securities could impose restrictions on operations and create a significant interest expense for us which could have a materially adverse effect on our business. Any such issuances could be made at a price that reflects a discount to the then-current trading price of our common stock. These issuances could be dilutive to our existing stockholders and cause the market price of our common stock to decline.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The exercise of outstanding warrants to purchase our common stock or the conversion of shares of our Series A Convertible Preferred Stock into shares of common stock may dilute the ownership interest of our common stockholders.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with past financing activity, we have issued convertible preferred stock and warrants to purchase our common stock. The exercise of some or all of the outstanding warrants to purchase our common stock or the conversion of some or all of the outstanding Series A Convertible Preferred Stock may dilute the ownership interests of our stockholders. Any sales of our common stock issuable upon the exercise of the warrants or conversion of the Series A Preferred Stock could adversely affect prevailing market prices of our common stock. In addition, the anticipated exercise of the warrants or conversion of the Series A Convertible Preferred Stock could depress the price of our common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Our failure to comply with the continued listing requirements of Nasdaq could adversely affect the price of our common stock and its liquidity.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our common stock is currently listed on the Nasdaq Capital Market. We must comply with Nasdaq&#8217;s continued listing requirements related to, among other things, stockholders&#8217; equity, market value, minimum bid price, and corporate governance in order to remain so listed. There can be no assurances that we will be able to comply with the applicable listing requirements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have in the past received notices from Nasdaq advising us that we were not in compliance with the continued listing requirements, although, in each case, we were able to subsequently regain compliance. In January 2019, we received a letter from the Nasdaq Listing Qualifications Staff (the &#8220;Staff&#8221;) notifying us that, for the prior 30 consecutive trading days, the closing bid price for our common stock was below the minimum $1.00 per share required pursuant to Nasdaq Listing Rule 5550(a)(2) (the &#8220;Bid Price Rule&#8221;). In accordance with Nasdaq Listing Rule 5810(c)(3)(A), our common stock traded above $1.00 for the required number of days within the 180-calendar day period immediately following our receipt of the notice to regain compliance with the Bid Price Rule.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 15, 2019, we received a letter from the Staff notifying us that our common stock had again fallen out of compliance with the Bid Price Rule. On October 15, 2019, the Company formally requested a 180-day extension beginning November 12, 2019 to regain compliance. On April 16, 2020, Nasdaq announced that, in response to the COVID-19 pandemic and related extraordinary market conditions, it had provided temporary relief through June 30, 2020 from compliance with, among other rules, the Bid Price Rule. As a result, we had until July 24, 2020 to regain compliance with the Bid Price Rule, which we accomplished by effecting a 1-for-5 reverse stock split on June 11, 2020, increasing the per share trading price of our common stock. Our common stock began trading on Nasdaq on a split-adjusted basis at the opening of trading on June 12, 2020.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 17, 2020, we received a letter from the Staff notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#8217; equity of at least $2,500,000 if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#8220;Minimum Stockholders&#8217; Equity Rule&#8221;). Our Quarterly Report on Form 10-Q for the quarterly period ended June 30, 2020, reflected that our stockholders&#8217; equity as of June 30, 2020 was $1,714,000. Based on our timely submission of our plan to regain compliance, Nasdaq granted us an extension through February 15, 2021 to regain compliance with the Minimum Stockholders&#8217; Equity Rule. In accordance with one part of the plan submitted to the Staff, we successfully modified our outstanding warrants and in December 2020, we reclassified $1.4 million from warrant liability into equity. At December 31, 2020, our stockholders&#8217; equity was $4,255,000. On January 20, 2021,we received a letter from the Staff notifying us that, on a conditional basis, Nasdaq has determined that we have regained compliance with the minimum stockholders&#8217; equity requirement for continued listing on the Nasdaq Capital Market. At December 31, 2021, our stockholders&#8217; equity was $6,209,000.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 21, 2021, we received a letter from the Staff notifying the Company that, as a result of the resignation of a director, as previously disclosed, from the Board of Directors and the Audit and Finance Committee, we are not in compliance with Nasdaq Listing Rule 5605, which requires that our Audit and Finance Committee be comprised of at least three directors, all of whom are independent pursuant to the rules of Nasdaq and applicable law. The notification letter had no immediate effect on the Company&#8217;s listing on the Nasdaq Capital Market. The letter further provided that, pursuant to Nasdaq Listing Rule 5605(c)(4), we are entitled to a cure period to regain compliance with Nasdaq Listing Rule 5605, which cure period will expire on the earlier of the date of our next annual shareholders&#8217; meeting and November 11, 2022, or, if the next annual shareholders&#8217; meeting is held before May 10, 2022, then the cure period will expire on May 10, 2022. The Board of Directors has commenced a search for a new independent director, who would be expected to serve on our Audit and Finance Committee, or the Board of Directors will otherwise appoint a current independent director to fill the vacancy on the committee. On February 24, 2022, the Company announced the appointment of two additional independent directors, one of which, was appointed to fill the vacancy on the Audit and Finance Committee, bringing us into compliance with Nasdaq Listing Rule 5605.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If we do not remain compliant with Nasdaq&#8217;s continued listing requirements, then we could be delisted from The Nasdaq Capital Market. If we were delisted, it would likely have a negative impact on the price of our common stock and our liquidity. If we are delisted from The Nasdaq Capital Market and we are not able to list our common stock on another exchange, our common stock could be quoted on the OTC Bulletin Board or in the &#8220;pink sheets.&#8221; As a result, we could face significant adverse consequences including, among others:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">a limited availability of market quotations for our securities;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">a determination that our common stock is a &#8220;penny stock,&#8221; which would require broker-dealers trading in our common stock to adhere to more stringent rules and possibly result in a reduced level of trading activity in the secondary trading market for our securities;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">a limited amount of news and little or no analyst coverage of the Company;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">we would no longer qualify for exemptions from state securities registration requirements, which may require us to comply with applicable state securities laws; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">a decreased ability to issue additional securities (including pursuant to short-form registration statements on Form S-3) or obtain additional financing in the future.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of these factors, the value of our common stock could decline significantly.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">We have never paid dividends on our common stock, and we do not anticipate paying any cash dividends in the foreseeable future.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have never declared or paid dividends on our common stock, nor do we anticipate paying any cash dividends for the foreseeable future. We currently intend to retain future earnings, if any, to finance the operations and expansion of our business. Any future determination to pay cash dividends will be at the discretion of our Board of Directors and will be dependent upon our earnings, financial condition, operating results, capital requirements, a capital structure strategy and other factors as deemed necessary by our Board of Directors.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">The elimination of monetary liability against our directors under Delaware law and the existence of indemnification rights held by our directors and officers may result in substantial expenditures by the Company and may discourage lawsuits against our directors and officers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our Certificate of Incorporation eliminates the personal liability of our directors to the Company and our stockholders for damages for breach of fiduciary duty as a director to the extent permissible under Delaware law. Further, our Bylaws provide that we are obligated to indemnify any of our directors or officers to the fullest extent authorized by Delaware law and, subject to certain conditions, advance the expenses incurred by any director or officer in defending any action, suit or proceeding prior to its final disposition. Those indemnification obligations could result in the Company incurring substantial expenditures to cover the cost of settlement or damage awards against our directors or officers, which we may be unable to recoup. These provisions and resultant costs may also discourage us from bringing a lawsuit against any of our current or former directors or officers for breaches of their fiduciary duties, and may similarly discourage the filing of derivative litigation by our stockholders against our directors and officers even though such actions, if successful, might otherwise benefit us or our stockholders.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_22"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 1B. UNRESOLVED STAFF COMMENTS</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_25"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">2.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PROPERTIES</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our principal executive offices and our manufacturing facility are located in an approximately 117,000 square foot facility in Solon, Ohio, under a lease agreement expiring on June 30, 2022. We believe this facility is adequate to support our current operations. The Company expects to enter into a new lease upon expiration that we believe will be adequate for our anticipated operations.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_28"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 3.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">LEGAL PROCEEDINGS</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, we may be involved in legal proceedings arising from the normal course of business. See Note 15, &#8220;Legal Matters,&#8221; to our financial statements for the year ended December 31, 2021 included in Part II, Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_31"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 4.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">MINE SAFETY DISCLOSURES</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_34"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART II</span></div><div id="i0aac58884afd43c7af148e399624b8eb_37"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 5.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AND</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ISSUER</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURCHASES OF EQUITY SECURITIES</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Market Information</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our common stock trades on The Nasdaq Capital Market under the symbol &#8220;EFOI.&#8221;&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stockholders</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were approximately 59 holders of record of our common stock as of March&#160;14, 2022, however, a large number of our stockholders hold their stock in &#8220;street name&#8221; in brokerage accounts. Therefore, they do not appear on the stockholder list maintained by our transfer agent.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Dividends</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have not declared or paid any cash dividends, and do not anticipate paying cash dividends in the near future.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_40"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 6. [RESERVED]</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_43"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 7.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OPERATIONS</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our Consolidated Financial Statements (&#8220;financial statements&#8221;) and related notes thereto, included in Part II, Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_46"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Overview</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls and ultraviolet-C light disinfection (&#8220;UVCD&#8221;) products. We develop, market and sell high quality light-emitting diode (&#8220;LED&#8221;) lighting and controls products and UVCD products in the commercial market and military maritime market (&#8220;MMM&#8221;), and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities, offices and homes with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit and UVCD solutions. Our goal is to be the LED and human-centric lighting (&#8220;HCL&#8221;) technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#8220;TLED&#8221;) products, as well as other LED and lighting control products for commercial and consumer applications. In late 2020, we announced the launch of our UVCD product portfolio. With initial development complete and two products now brought to market, we anticipate the development of additional UVCD products in 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The LED lighting industry has changed dramatically over the past several years due to increasing competition and price erosion. We have been experiencing these industry forces in both our military business since 2016 and in our commercial segment, where we once commanded significant price premiums for our flicker-free TLEDs with primarily 10-year warranties. In more recent years, we have focused on redesigning our products for lower costs and consolidating our supply chain for stronger purchasing power where appropriate in order to price our products more competitively. Despite these efforts, our legacy products continue to face aggressive pricing competition and a convergence of product functionality in the marketplace. These trends are not unique to Energy Focus as evidenced by the increasing number of industry peers facing challenges, exiting LED lighting, selling assets and even going out of business.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to continuously pursuing scheduled cost reductions, our strategy to combat these trends is to innovate both our technology and product offerings with differentiated products and solutions that offer greater, distinct value. Specific examples of these</span><span style="color:#ee2724;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">products we have developed include the RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, our emergency backup battery integrated TLED, EnFocus&#8482;, our new dimmable/color-tunable lighting and powerline control platform that we launched in 2020, and the second generation of EnFocus&#8482; powerline control switches and circadian lighting system for both commercial and residential markets, which we plan to launch in 2022. During 2022, we also plan to expand and enhance the performance of our RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">product line. We believe our revamped go-to-market strategy that focuses more on direct-sales marketing, selectively expanding our channel partner network that covers territories across the country, and listens to the voice of the customer, has led to better and more impactful product development efforts that we believe will eventually translate into larger addressable markets and greater sales growth for us.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Energy Focus UVCD solutions aim to provide impactful and affordable disinfection products for businesses and homes to effectively reduce infection risks and improve indoor air quality. In addition to being ozone-free, the products are designed to guard against the risks of direct human exposure to UV-C rays. The nUVo</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> products include enclosed, self-contained UV-C disinfection units that continuously inactivate viruses while reducing overall pathogen levels in the air, including bacteria and mold. We believe Energy Focus UVCD solutions are capable of providing affordable continuous disinfection with high effectiveness and safety. We believe that the UVCD products will open up a new, emerging and sizable market for us and expand our sales and growth potential.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to 2019, the Company experienced significant sales declines, operating losses and increases in its inventory. Beginning in 2019, significant restructuring efforts were undertaken. The Company replaced the entire senior management team, significantly reduced non-critical expenses, minimized the amount of inventory the Company was purchasing, dramatically changed the composition of our board of directors (&#8220;Board of Directors&#8221;) and the executive team, and recruited new departmental leaders across the Company. The cost savings efforts undertaken included phased actions to reduce costs to minimize cash usage. Initial actions included the elimination of certain positions, restructuring of the sales organization and incentive plan, flattening of the senior management team, additional operational streamlining, management compensation reductions, and outsourcing of certain functions including certain elements of supply chain and marketing.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2020 and 2021, we continued to see the cost-savings benefits from these relaunch efforts, in addition to a number of strategic sourcing projects completed during 2020 and 2021. In February 2022, we also added two experienced executives to our Board of Directors with extensive lighting and consumer products industry experience. It is our belief that the continued momentum of the efforts undertaken in 2020 and into 2021, along with the development and launch of new and innovative products as well as an expanded sales team and distribution network, will over time result in improved sales and bottom-line performance for the Company.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We launched our patented EnFocus&#8482; platform during the second quarter of 2020 and, despite the ongoing, significant delay and slowdown in our customers&#8217; lighting projects following the impacts of the COVID-19 pandemic, we continue to receive positive feedback from the market. The EnFocus&#8482; platform offers two immediately available product lines: EnFocus&#8482; DM, which provides a dimmable lighting solution, and EnFocus&#8482; DCT, which provides both a dimmable and color tunable lighting solution. EnFocus&#8482; enables buildings to have dimmable, color tunable and circadian-ready lighting using existing wiring, without requiring laying additional data cables or any wireless communication systems, through a relatively simple upgrade with EnFocus&#8482; switches and LED lamps, a far more secure, affordable and environmentally sustainable solution compared with replacing entire lighting fixtures and incorporating additional wired or wireless communication.</span></div><div style="margin-bottom:10pt;padding-left:2.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, in response to the COVID-19 pandemic and an anticipated increase in sanitation and hygiene demand for buildings, facilities and homes, we developed advanced UVCD air disinfection products for both consumer as well as the commercial and industrial markets. Two of these UVCD products were available beginning in the fourth quarter of 2021: the nUVo&#8482; Tower air disinfector, a portable air disinfection device for offices and homes, and the nUVo&#8482; Traveler air disinfector, a portable air disinfection device for in-vehicle and other smaller locations. Additional nUVo&#8482; product development is planned for 2022 as we expect to refocus our ongoing UVCD development efforts on the consumer and commercial space.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021, our MMM business continued to face challenges resulting from the delayed availability of government funding and the timing of U.S. Navy awards, with several anticipated projects facing repeated and ongoing delays. We continue to pursue opportunities from the U.S. Navy and the government sector to minimize such volatility. Previously in our MMM business, significant efforts undertaken to reduce costs in our product offerings have positioned us to be more competitive along with improved production efficiencies. Such efforts allowed us to continue to win bids and proposals that helped grow our MMM sales throughout 2020, offsetting some of the weakness being experienced in our commercial business that year. In addition, during the fourth quarter of 2020, we became an approved supplier for the General Services Administration (&#8220;GSA&#8221;) and many of our products are now listed in the GSA website for all federal and military agencies to view and order our products, a channel we hope to further develop. While we continue to aggressively seek to increase sales of our commercial products, the MMM business offers us continued sales opportunities, in addition to validating our product quality and strengthening our brand trust in the marketplace. However, due to product mix impacts resulting from the continued impact of the COVID-19 pandemic on commercial sales, our current financial results are in part driven by, and reflect volatility in, our MMM sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Meanwhile, we continue to seek additional external funding alternatives and sources to support our growth strategies, plans and initiatives. We plan to achieve profitability through developing and launching new, innovative products such as EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and our UVCD products and further leveraging our unique and proprietary technology such as RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-4.2pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, as well as executing on our multi-channel sales strategy that targets key verticals, such as government, healthcare, education and commercial and industrial, complemented by our marketing outreach campaigns and expanding channel partnerships. We also plan to continue to develop advanced lighting and lighting control applications built upon the EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform that aim to serve both consumer and commercial markets. In addition, we intend to continue to apply rigorous financial discipline in our organizational structure, business processes and policies, strategic sourcing activities and supply chain practices to help accelerate our path towards profitability.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Despite continuing progress throughout 2021, the Company&#8217;s results reflect the challenges due to long and unpredictable sales cycles, unexpected delays in MMM and commercial customer retrofit budgets and project starts, and unexpected supply chain issues, all exacerbated by the COVID-19 pandemic since early 2020. There has also been continuing aggressive price competition in the lighting industry. We continued to incur losses and we have a substantial accumulated deficit, which continues to raise substantial doubt about our ability to continue as a going concern at December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The COVID-19 pandemic in particular has, and may continue to have, a significant economic and business impact on our company. Throughout 2021, following a slowdown in 2020, we have seen a continuing weakness in commercial sales as customers in the healthcare, education, and commercial and industrial sectors delayed order placements in reaction to the impacts of the COVID-19 pandemic that caused our customers to suspend or postpone lighting retrofit projects due to budget </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and occupancy uncertainties. Global supply chain and logistics challenges have further exacerbated slowdowns in customer projects, as well as impacted our inventory strategies to respond to customer and supplier timelines.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We continue to monitor the impact of the COVID-19 pandemic on our customers, suppliers and logistics providers, and to evaluate governmental actions being taken to curtail and respond to the spread of the virus. Global supply chain and logistics constraints are impacting our inventory purchasing strategy, leading to a buildup of inventory and components in an effort to manage both shortages of available components and longer lead times in obtaining components. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. The significance and duration of the ongoing impact on us is still uncertain. Material adverse effects of the COVID-19 pandemic on market drivers, our customers, suppliers or logistics providers could significantly impact our operating results. We also plan to continue to actively follow, assess and analyze the ongoing impact of the COVID-19 pandemic and stand ready to adjust our organizational structure, strategies, plans and processes to respond.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because the situation continues to evolve, we cannot reasonably estimate the ultimate impact to our business, results of operations, cash flows and financial position that the COVID-19 pandemic may have. Continuation of the COVID-19 pandemic and government actions in response thereto could cause further disruptions to our operations and the operations of our customers, suppliers and logistics partners and could significantly adversely affect our near-term and long-term revenues, earnings, liquidity and cash flows. We will remain agile as an organization to respond to potential or continuing weakness in the macroeconomic environment and in the meantime expand sales channels and enter new markets such as the UVCD and consumer markets, that we believe will provide additional growth opportunities.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_49"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of operations</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the percentage of net sales represented by certain items reflected on our Consolidated Statements of Operations for the following periods:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.198%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.523%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105.5&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54.9&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Loss from Operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(88.3)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(24.1)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.0&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on forgiveness of PPP loan</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on extinguishment of debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income - employee retention tax credit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8.9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss from change in fair value of warrants</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other expenses, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(80.0)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35.5)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefit from income taxes</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(80.0)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35.5)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_52"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net sales</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A further breakdown of our net sales by product line is as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.929%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.522%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial products</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,682&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,404&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MMM products</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,183&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,424&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,865&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,828&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our net sales of $9.9 million in 2021 decreased 41.4% compared to 2020, mainly driven by a decrease of 54.6% in MMM sales. The decrease in net MMM product sales in 2021 as compared to 2020 was mainly due to the limited availability of government funding and the delayed timing of expected orders. MMM sales were also higher in 2020 primarily due to delays in government purchasing during 2019 that were pushed into 2020. Additionally, in March 2020, we won a contract worth about $3.5 million, and throughout 2020, our sales from our in-house sales and inside sales accounts grew significantly. Net sales of our commercial products decreased 13.4% in 2021 as compared to 2020, reflecting continuing fluctuations in the timing, pace, and size of commercial projects, including continuing impacts of the COVID-19 pandemic.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_55"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">International sales</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not generate significant sales from customers outside the United States. International net sales accounted for approximately 2% of net sales in 2021 and 1% of net sales in 2020. Changes in currency exchange rates did not have an impact on net sales in 2021 or 2020, as our sales, including international sales, are denominated in U.S. dollars.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_58"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Gross profit</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross profit was $1.7 million, or 17.2% of net sales, for 2021, compared with gross profit of $5.2 million, or 30.8% of net sales for 2020. The year-over-year decrease in gross margin was driven primarily by lower sales, resulting in an overhang in fixed costs against the lower sales volume of $1.0 million, or 10.1% of net sales, and unfavorable inventory and warranty reserve adjustments of $0.3 million, or 2.9% of net sales. Gross margin for 2021 included a favorable impact from product mix, and favorable price and usage variances for material and labor of $0.8 million, or 8.3% of net sales.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_61"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating expenses</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Product development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product development expenses include salaries, including stock-based compensation and related benefits, contractor and consulting fees, certain legal fees, supplies and materials, as well as overhead items, such as depreciation and facilities costs. Product development costs are expensed as they are incurred. Cost recovery represents the combination of revenues and credits from government contracts.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total gross and net product development spending, including credits from government contracts, is shown in the following table (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.929%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.522%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total gross product development expenses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,891&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,415&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross product development expenses were $1.9 million in 2021, an increase of 33.6%, compared to $1.4 million in 2020. The increase primarily resulted from increased product development and testing costs, as well as salaries and related benefit (including stock compensation) costs of $0.3 million and $0.1 million, respectively, associated with the development and launch of our UVCD products.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Selling, general, and administrative</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling, general, and administrative expenses were $8.5 million, or 86.5% of net sales, in 2021, compared to $7.9 million, or 46.9% of net sales, in 2020. Of the year-over-year $0.6 million increase, approximately $0.8 million is attributable to increased headcount and salaries, including stock-based compensation and related benefits, $0.2 million is related to an increase in trade show and other marketing costs, $0.1 million is related to increased sales commissions, $0.1 million is related to increased travel and related expenses, $0.1 million is related to an increase in network and other software costs and $0.1 million is related to an increase in dues and subscriptions. These increases were offset by savings of $0.6 million in legal and professional fees and $0.2 million in recruiting and relocation fees. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restructuring</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021 and 2020, we recorded restructuring credits of approximately $21 thousand and $60 thousand, respectively, related to the cost and offsetting sub-lease income for the remaining lease obligation for our former New York, New York and Arlington, Virginia offices. The lease on our Arlington, Virginia office ended in September of 2019 and the lease on our New York, New York office expired in June of 2021. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Please refer to Note 3, &#8220;Restructuring,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report for further information.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_64"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Other</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">expenses</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interest expense</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We incurred $792 thousand in interest expense in 2021, primarily related to the interest on borrowings and non-cash amortization of fees related to our revolving lines of credit with Crossroads Financial Group, LLC (the &#8220;Inventory Facility&#8221;) and Factors Southwest L.L.C. (d/b/a FSW Funding) (the &#8220;Receivables Facility&#8221; and, together with the Inventory Facility, the &#8220;Credit Facilities&#8221;), interest on borrowings and non-cash amortization of fees associated with the increase in the borrowing capacity on the Inventory Facility, and interest on the promissory note in the principal amount of $1.7 million (the &#8220;Streeterville Note&#8221;) the Company sold and issued to Streeterville Capital, LLC (&#8220;Streeterville&#8221;) pursuant to a note purchase agreement with Streeterville. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2020, we incurred $481 thousand in interest expense primarily related to interest on borrowings and non-cash amortization of fees related to our former revolving line of credit with Austin Financial Services, Inc. (the &#8220;Austin Facility&#8221;), the promissory note in the principal amount of $1.3 million (the &#8220;Iliad Note&#8221;) the Company sold and issued to Iliad Research and Trading, L.P. (&#8220;Iliad&#8221;), pursuant to a note purchase agreement (the &#8220;Iliad Note Purchase Agreement&#8221;) with Iliad, and the interest on borrowings and non-cash amortization of fees related to the Credit Facilities.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Gain on forgiveness of PPP loan</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Forgiveness income of $801 thousand related to the Paycheck Protection Program (&#8220;PPP&#8221;) loan taken out during 2020 and forgiven in 2021 was recognized during the first quarter 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Loss on extinguishment of debt</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A loss of $276 thousand on the extinguishment of debt was recognized during the year ended December&#160;31, 2020, consisting of a $100 thousand termination fee and the write-off of the remaining related debt acquisition costs of $59 thousand from the Austin Facility as well as the write-off of the remaining debt acquisition costs of $117 thousand relating to the Iliad Note.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Retention Tax Credit</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December&#160;31, 2021, we recognized other income of $876 thousand related to eligible Employee Retention Tax Credit (&#8220;ERTC&#8221;) expenses incurred during the second and third quarters of 2021 for which we became eligible. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Loss from change in fair value of warrants</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A loss of $1.1 million was recognized during the year ended December&#160;31, 2020 for the market value change in our warrant liabilities related to a private issuance of warrants to certain institutional investors to purchase up to 688,360 shares of our common stock with an exercise price of $3.37 per share and a private issuance of warrants to the placement agents to purchase up to 48,185 shares of our common stock with an exercise price of $4.99 per share, both at a purchase price of $0.625 per warrant (collectively, the &#8220;January 2020 Warrants&#8221;), which were completed concurrently with a registered direct offering for the sale of 688,360 shares of our common stock to the same institutional investors, at a purchase price of $3.37 per share, in January 2020 (such concurrent registered direct offering and private issuance, together, the &#8220;January 2020 Equity Offering&#8221;). The loss recognized was a result of the revaluation of the warrant liability using the market price of the Company&#8217;s common stock at December 22, 2020, versus the market price of the Company&#8217;s common stock at the time of initial issuance of the January 2020 Warrants (January 13, 2020). The terms of the January 2020 Warrants were amended in December 2020 such that they were reclassified as equity, and no liability with respect to such January 2020 Warrants exists at either December&#160;31, 2021 or 2020. As such, there is no related gain or loss recorded for the twelve months ended December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Other expenses, net</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized other expenses, net, of $65 thousand in 2021, compared to other expenses, net, of $73 thousand in 2020. Other expenses, net, in 2021 and 2020 primarily consisted of bank and collateral management fees. </span></div><div id="i0aac58884afd43c7af148e399624b8eb_67"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December 31, 2021 and 2020, our effective tax rate was 0.0% and 0.1%, respectively.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2021, our effective tax rate was lower than the statutory rate due to an increase in the valuation allowance as a result of the $9.6 million additional federal net operating loss we recognized for the year. In 2020, our effective tax rate was lower than the statutory rate due to an increase in the valuation allowance as a result of the $7.1 million additional federal net operating loss we recognized for the year.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred income tax assets are reduced by a valuation allowance when it is more likely than not that some portion of the deferred income tax assets will not be realized. In considering the need for a valuation allowance, we assess all evidence, both positive and negative, available to determine whether all or some portion of the deferred tax assets will not be realized. Such evidence includes, but is not limited to, recent earnings history, projections of future income or loss, reversal patterns of existing taxable and deductible temporary differences, and tax planning strategies. We have recorded a full valuation allowance against our deferred tax assets at December&#160;31, 2021 and 2020, respectively. We had no net deferred liabilities at December&#160;31, 2021 or 2020.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We will continue to evaluate the need for a valuation allowance on a quarterly basis.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, we had net operating loss carry-forwards of approximately $125.4 million for federal income tax purposes ($77.2 million for state and local income tax purposes). However, due to changes in our capital structure, approximately $71.0 million of the $125.4 million is available after the application of IRC Section 382 limitations. As a result of the Tax Cuts and Jobs Act of 2017 (the &#8220;Tax Act&#8221;), net operating loss carry-forwards generated in tax years beginning after December 31, 2017 can only offset 80% of taxable income. These net operating loss carry-forwards can no longer be carried back, but they can be carried forward indefinitely. The $9.6 million and $7.1 million in federal net operating losses generated in December&#160;31, 2021 and 2020, respectively, will be subject to the new limitations under the Tax Act. If not utilized, the carry-forwards generated prior to December 31, 2017 of $37.5 million will begin to expire in 2023 for federal purposes and have begun to expire for state and local purposes. Please refer to Note 11, &#8220;Income Taxes,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report for further information.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_70"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net loss</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net loss was $7.9 million for 2021, inclusive of a non-cash, pre-tax gain of $0.8 million from the forgiveness of the Company&#8217;s PPP loan and $0.9 million in other income recorded relating to the ERTC ($431 thousand of which was received during the fourth quarter of 2021). This compares with a net loss of $6.0 million for 2020, which included a non-cash, pre-tax loss of $1.1 million resulting from the revaluation of the warrant liability throughout 2020. </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_73"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">capital</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">resources</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">General</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We generated a net loss of $7.9 million in 2021, compared to net loss of $6.0 million in 2020. We have incurred substantial losses in the past, and as of December 31, 2021, we had an accumulated deficit of $138.7 million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In order for us to operate our business profitably, we need to grow our sales, maintain cost control discipline while balancing development of our new products required for long-term competitiveness and revenue growth, continue our efforts to reduce product cost, and drive further operating efficiencies. There is a risk that our strategy to return to profitability may not be successful. We will likely require additional financing in the next twelve months to achieve our strategic plan and, if our operations do not achieve, or we experience an unanticipated delay in achieving, our intended level and pace of profitability, we will continue to need additional funding thereafter, none of which may be available on favorable terms or at all and could require us to discontinue or curtail our operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Considering both quantitative and qualitative information, we continue to believe that the combination of our plan to continue to ensure appropriate levels of the availability of external financing, current financial position, liquid resources, obligations due or anticipated within the next year, and implementation of our product development and sales channel strategy, if adequately executed, will provide us with an ability to finance our operations through 2022 and will mitigate the substantial doubt about our ability to continue as a going concern.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Credit Facilities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 11, 2020, we entered into the Credit Facilities. The Credit Facilities consist of the Inventory Facility, a two-year inventory financing facility for up to $3.0 million, which amount was subsequently increased to $3.5 million, and the Receivables Facility, a two-year receivables financing facility for up to $2.5 million. These facilities replaced our previous credit facility, the Austin Facility. As of December&#160;31, 2021, our cash was approximately $2.7 million and our total outstanding balance was approximately $2.2 million under the Credit Facilities. As of December&#160;31, 2021, our additional availability under the Credit Facilities was $1.7 million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">December 2021 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed a private placement (the &#8220;December 2021 Private Placement&#8221;) with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) pre-funded warrants (&#8220;Pre-Funded Warrants&#8221;) to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. We paid the placement agent commission of $360&#160;thousand, plus $42&#160;thousand in expenses, in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $97&#160;thousand related to the December 2021 Private Placement. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in-capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the December 2021 Private Placement were approximately $4.0 million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">June 2021 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2021, we completed a registered direct offering of 990,100 shares of our common stock to certain institutional investors, at a purchase price of $5.05 per share (the &#8220;June 2021 Equity Offering&#8221;). We paid the placement agent commissions of $400 thousand, plus $51 thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $19 thousand related to the June 2021 Equity Offering. Total offering costs of $470&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Total offering costs of $470&#160;thousand have been presented as a reduction of additional paid-in-capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $4.5 million.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Streeterville Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;27, 2021, we entered into a note purchase agreement with Streeterville, pursuant to which we sold and issued the Streeterville Note. The Streeterville Note was issued with an original issue discount of $194&#160;thousand and Streeterville paid a purchase price of $1.5 million for the Streeterville Note, after deduction of $15&#160;thousand of Streeterville&#8217;s transaction expenses.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Streeterville Note has a maturity date of April&#160;27, 2023, and accrues interest at 8% per annum, compounded daily, on the outstanding balance. The Company may prepay the amounts outstanding under the Streeterville Note at a 10% premium. Beginning on November 1, 2021, Streeterville may require the Company to redeem up to $205&#160;thousand of the Streeterville Note in any calendar month. The Company has the right on three occasions to defer all redemptions that Streeterville could otherwise require the Company to make during any calendar month. Each exercise of this deferral right by the Company will increase the amount outstanding under the Streeterville Note by 1.5%. The Company exercised this right twice during the fourth quarter of 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total liability for the Streeterville Note, net of discount and financing fees, was $1.7 million at December&#160;31, 2021. Unamortized loan discount and debt issuance costs were $43 thousand at December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the event our common stock is delisted from Nasdaq, the amount outstanding under the Streeterville Note will automatically increase by 15% as of the date of such delisting.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">January 2020 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share in a concurrent private placement (the &#8220;Investor Warrants&#8221;) for a purchase price of $0.625 per warrant. We paid the placement agent commissions of $193&#160;thousand plus $50&#160;thousand in expenses in connection with the January 2020 Equity Offering and we also paid legal, accounting and other fees of $231&#160;thousand related to the January 2020 Equity Offering. In addition, we issued warrants to the placement agent to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share (together with the Investor Warrants, the, &#8220;January 2020 Warrants&#8221;). Proceeds to us, before expenses, from the January 2020 Equity Offering were approximately $2.8 million. In accordance with the terms of the Iliad Note described below, 10% of the gross proceeds from the January 2020 Equity Offering ($275 thousand) were used to make payments on the Iliad Note, a large portion of which was applied to reduce the outstanding principal amount.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Iliad Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November&#160;25, 2019, we entered into the Iliad Note Purchase Agreement with Iliad pursuant to which the Company sold and issued to Iliad the Iliad Note in the principal amount of $1.3 million. The Iliad Note was issued with an original issue discount of $142&#160;thousand and Iliad paid a purchase price of $1.1 million for the issuance of the Iliad Note, after deduction of $15&#160;thousand of Iliad transaction expenses. The Iliad Note accrued interest at 8% per annum, compounded daily, on the outstanding balance. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 1, 2020, we repaid the remaining outstanding balance of $30&#160;thousand on the Iliad Note prior to its maturity date of November&#160;24, 2021. We wrote off $117&#160;thousand in remaining debt and original issue discount costs at that time. The debt acquisition and original issue discount costs written-off are reflected as a loss on extinguishment of debt in our Consolidated Statements of Operations for the year ended December 31, 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Iliad Note Purchase Agreement and the Iliad Note, we had, among other things, agreed that, until the Iliad Note was repaid, 10% of gross proceeds the Company received from the sale of our common stock or other equity must be paid to Iliad and applied to reduce the outstanding balance of the Iliad Note.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Convertible Notes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 29, 2019, we issued $1.7 million aggregate principal amount of subordinated convertible promissory notes (the &#8220;Convertible Notes&#8221;) to certain investors in a private placement exempt from the registration requirements of the Securities Act of 1933, as amended. The Convertible Notes had a maturity date of December 31, 2021 and bore interest at a rate of 5% per annum until June 30, 2019 and at a rate of 10% thereafter. Pursuant to their terms, on January 16, 2020, following approval by our stockholders of certain amendments to the Company&#8217;s Certificate of Incorporation, the principal amount of all of the Convertible Notes, and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the accumulated interest thereon ($0.1&#160;million), which totaled $1.8 million, were converted at a conversion price of $0.67 per share into an aggregate of 2,709,018 shares of the Company&#8217;s Series A Convertible Preferred </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock, par value $0.0001 per share (the &#8220;Series A Preferred Stock&#8221;), which is convertible on a one-for-five basis into shares of our common stock. During 2020, 111,548 shares of the Series A Preferred Stock were converted into 22,310 shares of common stock. During 2021, 1,721,023 shares of Series A Preferred Stock were converted into 344,205 shares of common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Need for Additional Financing</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Even with access to borrowings under the Credit Facilities, we may not generate sufficient cash flows from our operations or be able to borrow sufficient funds to sustain our operations within the next twelve months or in the time periods thereafter. As such, we will likely need additional external financing during 2022 and thereafter and will continue to review and pursue external funding sources including, but not limited to, the following:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining financing from traditional or non-traditional investment capital organizations or individuals;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining funding from the sale of our common stock or other equity or debt instruments; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining debt financing with lending terms that more closely match our business model and capital needs.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that we will obtain future funding on acceptable terms, in a timely fashion, or at all. Obtaining additional financing contains risks, including:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">additional equity financing may not be available to us on satisfactory terms and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">loans or other debt instruments may have terms or conditions, such as interest rates, restrictive covenants and control or revocation provisions, which are not acceptable to management or our Board of Directors; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the current environment in the capital markets, as well as global health risks, combined with our capital constraints may prevent us from being able to obtain adequate debt financing.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, if we are unable to find a permanent Chief Executive Officer, it may be more difficult to obtain additional financing on satisfactory terms or at all. If we fail to obtain additional financing to sustain our business before we are able to produce levels of revenue to meet our financial needs, we will need to delay, scale back or eliminate our business plan and further reduce our operating costs and headcount, each of which would have a material adverse effect on our business, future prospects, and financial condition. A lack of additional financing could also result in our inability to continue as a going concern and force us to sell certain assets or discontinue or curtail our operations and, as a result, investors in the Company could lose their entire investment.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash and debt</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December 31, 2021, our cash balance was $2.7 million, compared to $1.8 million at December 31, 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of cash flows from operating, investing, and financing activities, as reflected in the Consolidated Statements of Cash Flows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.929%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.522%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net cash used in operating activities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,765)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,451)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net cash used in investing activities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(443)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(223)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from the issuance of common stock and warrants</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,500&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,749&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from the exercise of warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">801&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">918&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Offering costs paid on the issuance of common stock and warrants</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(969)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(510)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from PPP loan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">795&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal payments under finance lease obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from exercise of stock options and purchases through employee stock purchase plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments for deferred financing costs &amp; termination fees</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(30)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(320)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments on the Iliad Note</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,306)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from the Streeterville Note</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,515&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net (payments on) proceeds from credit line borrowings - Credit Facilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(181)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,459&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net payments on credit line borrowings - Austin Facility</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(719)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net cash provided by financing activities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,712&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,160&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash used in operating activities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in operating activities of $9.8 million in 2021 resulted primarily from the net loss incurred of $7.9 million, adjusted for non-cash items, including: depreciation and amortization of $0.2 million, stock-based compensation, net of $0.4 million, gain on forgiveness of the PPP loan of $0.8 million, other income related to the ERTC of $0.9 million, and unfavorable provisions from inventory and warranty of $0.2 million and $0.1 million, respectively, as well as accounts receivable and working capital changes. We generated $0.8 million through the timing of collection of accounts receivable, $0.7 million from the change in prepaid and other current assets (primarily the receipt of ERTC funds), $0.3 million for short-term deposits related to the timing of inventory receipts with our contract manufacturers for our nUVo&#8482; and EnFocus&#8482; products, and $0.2 million from changes in deferred revenue. We used $2.4 million from a net increase in inventories primarily due to the timing of inventory receipts, $0.4 million in cash for a decrease in accounts payable due to the timing of inventory receipts and payments, and $0.4 million through a decrease of other accrued liabilities, primarily related to accrued payroll and benefits and commissions. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in operating activities of $2.5 million in 2020 resulted primarily from the net loss incurred of $6.0 million, adjusted for non-cash items, including: depreciation and amortization of $0.2 million and stock-based compensation, net of $0.1 million, change in fair value of warrant liabilities of $1.1 million and favorable provisions from inventory of $0.6 million. We generated $1.1 million in cash for an increase in accounts payable due to the timing of inventory receipts and payments, $1.1 million from a net decrease in inventories primarily due to the timing of inventory receipts, $0.4 million through the timing of collection of accounts receivable and $0.3 million through an increase of other accrued liabilities, primarily related to accrued payroll and benefits and commissions. We used $0.7 million for short-term deposits to our contract manufacturers for inventory for the new EnFocus&#8482; platform.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">used in investing activities</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used by investing activities was $0.4 million in 2021, primarily from the purchase of software and tooling to support production operations as well as the development of e-commerce platforms.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used by investing activities was $0.2 million in 2020, and resulted primarily from the addition of property and equipment tooling to support production operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash provided by financing activities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by financing activities for the year ended December&#160;31, 2021 of $10.7 million primarily resulted from $4.0 million and $4.5 million in net proceeds received from the December 2021 Private Placement and the June 2021 Equity Offering, respectively, $1.5 million of net proceeds from the Streeterville Note, and $0.8 million of proceeds from the exercise of 237,892 January 2020 Warrants. These increases in cash were offset by net payments made against borrowings under the Inventory Facility and the Receivables Facility of $150 thousand and $31 thousand, respectively. At December&#160;31, 2021, we had additional availability for us to borrow of $1.7 million under the Inventory Facility and $20 thousand under the Receivables Facility.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of 1,363,641 shares remain outstanding with a weighted average exercise price of $3.30 per share. During the year ended December&#160;31, 2021, no December 2021 Warrants were exercised. At December&#160;31, 2021, January 2020 Warrants to purchase an aggregate of 229,414 shares remain outstanding with a weighted average exercise price of $3.67 per share. During the year ended December&#160;31, 2021, 237,892 January 2020 Warrants were exercised resulting in $0.8 million of proceeds. The exercise of the remaining outstanding January 2020 Warrants and the December 2021 Warrants could provide us with cash proceeds of up to $0.8 million and $4.5 million, respectively. In January of 2022, all of the Pre-Funded Warrants from the December 2021 Private Placement were exercised.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December&#160;31, 2020, we received $0.8 million in proceeds from the PPP loan, $1.4 million from borrowings under the Inventory Facility and $1.1 million from borrowings under the Receivables Facility, and paid $0.7 million, net, on the Austin Facility. Also during the year ended December&#160;31, 2020, we paid $0.2 million in deferred financing fees on the Credit Facilities. On August 11, 2020, we paid the outstanding balance of $1.4 million to close out the Austin Facility, which included a $100 thousand termination fee.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Also during the year ended December&#160;31, 2020, we repaid $1.3 million aggregate principal amount under the Iliad Note, which included a mandatory repayment pursuant to the terms of the Iliad Note in connection with the issuance of common stock in the January 2020 Equity Offering, of which $0.2 million was allocated against principal. At December&#160;31, 2020, we had additional availability for us to borrow of $1.0 million under the Inventory Facility and $0.6 million under the Receivables Facility.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_76"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Credit Facilities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 11, 2020, we entered into the Credit Facilities, consisting of two debt financing arrangements. The Credit Facilities consist of the Inventory Facility, a two-year inventory financing facility for up to $3.0 million, which amount was subsequently increased to $3.5 million, and the Receivables Facility, a two-year receivables financing facility for up to $2.5 million. Borrowings under the Credit Facilities replaced our previous credit facility, the Austin Facility, substantially increasing the Company&#8217;s borrowing capacity and reducing its blended interest expense rate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net borrowings under the Inventory Facility at December&#160;31, 2021 and 2020 were $1.2 million and $1.3 million, respectively. Net borrowings under the Receivables Facility at both December&#160;31, 2021 and 2020 were $1.0 million. These facilities are recorded in the Consolidated Balance Sheets as of December&#160;31, 2021 and 2020 as a current liability under the caption &#8220;Credit line borrowings, net of origination fees.&#8221; Outstanding balances include unamortized net issuance costs totaling $84 thousand and $121 thousand, respectively, for the Inventory Facility and $24 thousand and $40 thousand, respectively, for the Receivables Facility as of December&#160;31, 2021 and 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Facilities replaced the Austin Facility which was entered into on December 11, 2018 and was secured by a lien on our assets. The Austin Facility was a three year, $5.0 million revolving line of credit. On August 11, 2020, we paid $1.4 million to close the Austin Facility which included a $100&#160;thousand termination fee. Additionally, we wrote off $59&#160;thousand of the remaining related debt acquisition costs. The termination fee and the write-off of debt acquisition costs are reflected as a loss on extinguishment of debt in our Consolidated Statements of Operations for the twelve months ended December&#160;31, 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For more information, see Note 8 &#8220;Debt&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_79"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Off-balance</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">sheet</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">arrangements</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had no off-balance sheet arrangements at December 31, 2021 or 2020.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_82"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">accounting</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">policies and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">estimates</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with accounting principles generally accepted in the United States (&#8220;U.S. GAAP&#8221;) requires that we make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingencies, and the reported amounts of net sales and expenses in the financial statements. Material differences may result in the amount and timing of net sales and expenses if different judgments or different estimates were utilized. Critical accounting policies, judgments, and estimates that we believe have the most significant impact on our financial statements are set forth below:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">revenue recognition,</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">allowances for doubtful accounts, returns and discounts,</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">impairment of long-lived assets,</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">valuation of inventories,</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">accounting for income taxes, </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">share-based compensation, and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">leases.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_85"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">recognition</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#8217; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities are accounted for on a net basis and are excluded from net sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A disaggregation of product net sales is presented in Note 12, &#8220;Product and Geographic Information,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_88"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts Receivable</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#8217;s financial condition and the amounts due are stated at their estimated net realizable value. We utilize a third-party account receivable insurance program with a very high credit worthy insurance company where we have the large majority of the accounts receivable insured with a portion of self-retention. This third party also provides credit-worthiness ratings and metrics that significantly assists us in evaluating the credit worthiness of both existing and new customers. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated number of account receivables that will not be collected. The allowance is based on an assessment of customer creditworthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases to major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_91"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Allowances for</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">doubtful</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">accounts,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">returns,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">discounts</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We establish allowances for doubtful accounts and returns for probable losses based on the customers&#8217; loss history with us, the financial condition of the customer, the condition of the general economy and the industry as a whole, and the contractual terms established with the customer. The specific components are as follows:</span></div><div style="padding-left:36pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt">allowance for doubtful accounts for accounts receivable, and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.5pt">allowance for sales returns and discounts.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2021 and 2020, the total allowance was $14 thousand and $8 thousand, respectively, which was all related to sales returns. We review these allowance accounts periodically and adjust them accordingly for current conditions.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_94"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Long-lived</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">assets</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and include expenditures for additions and major improvements. Expenditures for repairs and maintenance are charged to operations as incurred. We use the straight-line method of depreciation over the estimated useful lives of the related assets (generally two to fifteen years) for financial reporting purposes. Accelerated methods of depreciation are used for federal income tax purposes. When assets are sold or otherwise disposed of, the cost and accumulated depreciation are removed from the accounts and any gain or loss is reflected in the Consolidated Statement of Operations. Refer to Note 6, &#8220;Property and Equipment,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets are reviewed for impairment whenever events or circumstances indicate the carrying amount may not be recoverable. Events or circumstances that would result in an impairment review primarily include operations reporting losses, a significant change in the use of an asset, or the planned disposal or sale of the asset. The asset would be considered impaired when the future net undiscounted cash flows generated by the asset are less than its carrying value. An impairment loss would be recognized based on the amount by which the carrying value of the asset exceeds its fair value, as determined by quoted market prices (if available) or the present value of expected future cash flows. Refer to Note 6, &#8220;Property and Equipment,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report for additional information.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_97"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Valuation of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">inventories</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We state inventories at the lower of standard cost (which approximates actual cost determined using the first-in-first-out method) or net realizable value. We establish provisions for excess and obsolete inventories after evaluation of historical sales, current economic trends, forecasted sales, product lifecycles, and current inventory levels. During 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand, which resulted in a net reduction of our gross inventory levels of $1.2&#160;million and excess inventory reserves of $0.6&#160;million. Throughout 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components, which resulted in an increase in our gross inventory levels of $2.4&#160;million and excess inventory reserves of $0.2&#160;million compared to 2020. Adjustments to our estimates, such as forecasted sales and expected product lifecycles, could harm our operating results and financial position. Refer to Note 5, &#8220;Inventories,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report for additional information.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_100"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounting for</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">income</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">taxes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the process of preparing the Consolidated Financial Statements, we are required to estimate our income tax liability in each of the jurisdictions in which we do business. This process involves estimating our actual current tax expense together with assessing temporary differences resulting from differing treatment of items, such as deferred revenues, for tax and accounting purposes. These differences result in deferred tax assets and liabilities, which are included in our Consolidated Balance Sheets. We then assess the likelihood of the deferred tax assets being recovered from future taxable income and, to the extent we believe it is more likely than not that the deferred tax assets will not be recovered, or is unknown, we establish a valuation allowance.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Significant management judgment is required in determining our provision for income taxes, deferred tax assets and liabilities, and any valuation allowance recorded against our deferred tax assets. At December&#160;31, 2021 and 2020, we have recorded a full valuation allowance against our deferred tax assets due to uncertainties related to our ability to utilize our deferred tax assets, primarily consisting of certain net operating losses carried forward. The valuation allowance is based upon our estimates of taxable income by jurisdiction and the period over which our deferred tax assets will be recoverable. In considering the need for a valuation allowance, we assess all evidence, both positive and negative, available to determine whether all or some portion of the deferred tax assets will not be realized. Such evidence includes, but is not limited to, recent earnings history, projections of </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">future income or loss, reversal patterns of existing taxable and deductible temporary differences, and tax planning strategies. We continue to evaluate the need for a valuation allowance on a quarterly basis.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, we had net operating loss carry-forwards of approximately $125.4 million for federal income tax purposes ($77.2 million for state and local income tax purposes). However, due to changes in our capital structure, approximately $71.0 million of the $125.4 million is available to offset future taxable income after the application of IRC Section 382 limitations. As a result of the Tax Act, net operating loss carry-forwards generated in tax years beginning after December 31, 2017 can only offset 80% of taxable income. These net operating loss carry-forwards can no longer be carried back, but they can be carried forward indefinitely. The $9.6 million and $7.1 million in federal net operating losses generated in 2021 and 2020, respectively, will be subject to the new limitations under the Tax Act. If not utilized, the carry-forwards generated prior to December 31, 2017 of $37.5 million will begin to expire in 2023 for federal purposes and have begun to expire for state and local purposes. Please refer to Note 11, &#8220;Income Taxes,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report for further information.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_103"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Share-based payments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cost of employee and director stock options and restricted stock units, as well as other share-based compensation arrangements, is reflected in the Consolidated Financial Statements based on the estimated grant date fair value method under the authoritative guidance. Management applies the Black-Scholes option pricing model to options issued to employees and directors to determine the fair value of stock options and apply judgment in estimating key assumptions that are important elements of the model in expense recognition. These elements include the expected life of the option, the expected stock-price volatility, and expected forfeiture rates. The assumptions used in calculating the fair value of share-based awards under Black-Scholes represent our best estimates, but these estimates involve inherent uncertainties and the application of management judgment. Although we believe the assumptions and estimates we have made are reasonable and appropriate, changes in assumptions could materially impact our reported financial results. Restricted stock units and stock options issued to non-employees are valued based upon the intrinsic value of the award. See Note 10, &#8220;Stockholders&#8217; Equity,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report for additional information.&#160;</span></div><div id="i0aac58884afd43c7af148e399624b8eb_106"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Leases</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of January 1, 2019, the Company adopted both Accounting Standards Update (&#8220;ASU&#8221;) No. 2016-02, Leases (Topic 842) and ASU No. 2018-11, Leases (Topic 842): Targeted Improvements issued by the Financial Accounting Standards Board (&#8220;FASB&#8221;). The guidance requires a lessee to recognize right-of-use assets and lease liabilities on the balance sheet for leases with lease terms longer than 12 months. The recognition, measurement and presentation of lease expenses and cash flows depend on the classification by the lessee as a finance or operating lease. We adopted this guidance using the required modified retrospective method with the non-comparative transition option. The Company applied the transitional package of practical expedients allowed by the standard to not reassess the identification, classification and initial direct costs of leases commencing before this ASU&#8217;s effective date. The Company also applied the lease term and impairment hindsight transitional practical expedients. The Company has chosen to apply the following accounting policy practical expedients: to not separate lease and non-lease components to new leases as well as existing leases through transition; and the election to not apply recognition requirements of the guidance to short-term leases. Refer to Note 4, &#8220;Leases,&#8221; included in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report for additional disclosures relating to the Company&#8217;s leasing arrangements.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases expiring through 2026 under which it is responsible for related maintenance, taxes and insurance. The Company has one finance lease containing a bargain purchase option upon expiration in 2022. The lease term consists of the non-cancellable period of the lease, periods covered by options to extend the lease if the Company is reasonably certain to exercise the option, and periods covered by an option to terminate the lease if the Company is reasonably certain not to exercise the option. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had one restructured lease with a sub-lease component for the New York, New York office that was closed in 2017. The lease expired in June 2021. As part of the lease agreement, there was $0.3 million in restricted cash in prepaid and other current assets on the accompanying Consolidated Balance Sheets as of December&#160;31, 2020 which represented collateral against the related letter of credit issued as part of the lease agreement. Per the terms of the lease agreement, the restrictions on the cash were lifted in September 2021 and the cash was returned to the Company.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_109"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">In November 2021, the FASB issued ASU No. 2021-10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%">Government Assistance (Topic 832)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"> (&#8220;ASU 2021-10&#8221;), in order to increase the transparency of government assistance by requiring the disclosure of: (i) types of assistance; (ii) an entity&#8217;s accounting for the assistance; and (iii) the effect of the assistance on an entity&#8217;s financial statements. ASU 2021-10 is effective for all entities (including smaller reporting companies) for financial statements issued for annual periods beginning after December 15, 2021, with early adoption permitted. The amendments in ASU 2021-10 should be applied either prospectively to all transactions within scope reflected in the financial statements after the effective date, or retrospectively to those same transactions. The Company has early adopted the new standard, effective as of December 31, 2021. Refer to Note 13 &#8220;Other Income,&#8221; to our financial statements included in Part II, Item 8 &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">In August 2020, the FASB issued ASU No. 2020-06, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%">Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity&#8217;s Own Equity (Subtopic 815-40) (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">&#8220;ASU 2020-06&#8221;), to simplify accounting for certain financial instruments with characteristics of liabilities or equity. ASU 2020-06 is effective for smaller reporting companies for fiscal years beginning after December 15, 2023 and interim periods therein. Early adoption is permitted beginning January 1, 2021. The new guidance: (i) eliminates the current models that require separation of beneficial conversion and cash conversion features from convertible instruments; (ii) simplifies the derivative scope exception guidance pertaining to equity classification of contracts in an entity&#8217;s own equity; (iii) introduces additional disclosures for convertible debt and freestanding instruments that are indexed to and settled in an entity&#8217;s own equity; and (iv) amends the diluted earnings per share guidance, including the requirement to use the if-converted method for all convertible instruments. The Company early adopted the new standard effective January 1, 2021. The adoption of ASU 2020-06 did not have an impact on the Company&#8217;s financial position or results of operations upon adoption.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:107%">Recently issued accounting pronouncements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU No. 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. This standard will be effective for interim and annual periods starting after December 15, 2022 and will generally require adoption on a modified retrospective basis. We are in the process of evaluating the impact of the standard.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_112"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 7A.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a &#8220;smaller reporting company&#8221; as defined by Item 10 of Regulation S-K, 17 CFR &#167; 229.10(f)(1), the Company is not required to provide this information.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_115"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">8.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</span></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TABLE OF CONTENTS</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:93.629%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:4.171%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Page</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reports of Independent Registered Public Accounting Firm (PCAOB ID <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:AuditorFirmId" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMTUvZnJhZzozNTA0OTA1ZDA2MDI0YWRjYWMxZGYyM2YwY2JkODFmYi90YWJsZTozOWNmN2FkMmFmODM0NDkxOWNlYjUxMWM0Yjk0YWVhYS90YWJsZXJhbmdlOjM5Y2Y3YWQyYWY4MzQ0OTE5Y2ViNTExYzRiOTRhZWFhXzEtMC0xLTEtNDUxOTkvdGV4dHJlZ2lvbjo5YjQyY2U5ZTk1MmY0YTE0OWRhNDVhNjE2MzRjMDdkZV8xMDk5NTExNjI3ODU2_53356257-cc7d-4546-9f93-cdcc4afc403e">1808</ix:nonNumeric>)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_118">44</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Balance Sheets as of December&#160;31, 2021 and 2020</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_121">46</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Operations for the years ended December&#160;31, 2021 and 2020</span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_124">48</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Comprehensive Loss for the years ended December&#160;31, 2021 and 2020</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_127">49</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Stockholders&#8217; Equity for the years ended December&#160;31, 2021 and 2020</span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_130">50</a></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Cash Flows for the years ended December&#160;31, 2021 and 2020</span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_133">51</a></span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notes to Consolidated Financial Statements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_136">53</a></span></div></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_118"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stockholders and Board of Directors</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Energy Focus, Inc.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Solon, Ohio</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Opinion on the Consolidated Financial Statements</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have audited the accompanying consolidated balance sheets of Energy Focus, Inc. (the &#8220;Company&#8221;) as of December&#160;31, 2021 and 2020, the related consolidated statements of operations, comprehensive loss, stockholders&#8217; equity, and cash flows for the years then ended, and the related notes and Schedule II (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December&#160;31, 2021 and 2020, and the results of its operations and its cash flows for the years then ended, in conformity with accounting principles generally accepted in the United States of America.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Continuation as a Going Concern</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements have been prepared assuming that the Company will continue as a going concern. As discussed in Note 3 to the consolidated financial statements, the Company has experienced recurring losses from operations and negative cash flows from operations that raise substantial doubt about its ability to continue as a going concern. Management&#8217;s plans in regard to these matters are also described in Note 3. The consolidated financial statements do not include any adjustments that might result from the outcome of this uncertainty.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis for Opinion</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These consolidated financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s consolidated financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our audits included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements. We believe that our audits provide a reasonable basis for our opinion.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Audit Matter</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing separate opinions on the critical audit matter or on the accounts or disclosures to which it relates.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Reserves for Excess, Obsolete and Slow-Moving Inventories</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Description of the Matter</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As described in Notes 2 and 5 to the consolidated financial statements, the Company assesses the valuation of inventories each reporting period based on the lower of cost or net realizable value. The Company establishes reserves for excess, obsolete and slow-moving inventories after evaluation of historical sales, current economic trends, forecasted sales, product lifecycles and </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">current inventory levels. The assessment is both quantitative and qualitative. As of December&#160;31, 2021, the Company had inventories of $7.9&#160;million, net of reserves for excess, obsolete and slow-moving inventories.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Auditing management's estimates for excess, obsolete and slow-moving inventories required subjective auditor judgment and evaluation of the reasonableness of significant assumptions used in developing the reserves as detailed above, as well as the inputs and related calculations related to historical sales and on-hand inventories.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">How We Addressed the Matter in Our Audit</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We obtained an understanding and evaluated the design of internal controls over the Company's reserves for excess, obsolete and slow-moving inventories, including management's assessment of the assumptions and data underlying the reserve calculation.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our substantive audit procedures included, among others, testing the logic and integrity of calculations within management&#8217;s analysis; testing the completeness and accuracy of underlying data used, including inventory quantities, carrying costs and the estimate of net realizable value by product; and evaluating the reasonableness of management&#8217;s assumptions related to demand forecasts, estimated reserve percentages and qualitative considerations involving, among others, the implications of the COVID-19 pandemic and new or revised operational strategies. Evaluating the reasonableness of management&#8217;s assumptions involved (i) comparing historical sales by product, used as a basis for future demand, to audited sales subledgers on a sample basis, (ii) performing sensitivity analyses on reserve percentages applied to categories of projected demand to evaluate the changes in the reserve that would result from changes in the assumption, (iii) holding discussions with senior management to determine whether strategic or operational changes in the business were consistent with the projections of future demand that were utilized as basis for the reserves recorded, (iv) corroborating management&#8217;s qualitative considerations through review of recent sales transactions, including those subsequent to year-end, and order backlog and deferrals on a sample basis, and (v) testing declines in the reserve and evaluating whether such declines were the result of the sale or write-off of inventory or the result of changes in the significant assumptions used to the develop the reserve.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:AuditorName" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMTgvZnJhZzo1MDE2NmI4YmM1MTE0M2M1OTNjYTlmYjRkMmMxMTg4ZC90ZXh0cmVnaW9uOjUwMTY2YjhiYzUxMTQzYzU5M2NhOWZiNGQyYzExODhkXzI3NDg3NzkwNzY4Mzg_eae395fb-931d-4777-be2a-c1cfad8278c7">GBQ Partners, LLC</ix:nonNumeric></span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have served as the Company's auditor since 2019.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="dei:AuditorLocation" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMTgvZnJhZzo1MDE2NmI4YmM1MTE0M2M1OTNjYTlmYjRkMmMxMTg4ZC90ZXh0cmVnaW9uOjUwMTY2YjhiYzUxMTQzYzU5M2NhOWZiNGQyYzExODhkXzI3NDg3NzkwNzY4Mzk_0a0fa50d-753f-4dcb-a0aa-e50fcf33372d">Columbus, Ohio</ix:nonNumeric></span></div><div style="margin-bottom:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March&#160;17, 2022 </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_121"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS OF DECEMBER 31,</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands except share data)</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:77.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.282%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ASSETS</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash </span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMtMS0xLTEtMA_2cb1c40f-3ec4-4526-94e3-ab4be73d2731">2,682</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMtMy0xLTEtMA_0fdf091c-b731-4a63-9d7e-80fd84993609">1,836</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade accounts receivable, less allowances of $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzQtMC0xLTEtMC90ZXh0cmVnaW9uOmE0NDZkNTMyNTViNzQyNjZiMWI4ZGVlZTRmMzNlN2UxXzUw_b4f0aded-9b25-4d5c-8484-3e2fcee32018">14</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzQtMC0xLTEtMC90ZXh0cmVnaW9uOmE0NDZkNTMyNTViNzQyNjZiMWI4ZGVlZTRmMzNlN2UxXzU3_9f537f9a-c900-4df1-92fb-1b4640fee50e">8</ix:nonFraction>, respectively</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzQtMS0xLTEtMA_088c8615-a7b6-4bc5-9d61-0f79a85b2fe6">1,240</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzQtMy0xLTEtMA_ddad171f-00e0-4ba4-ac9d-75c527ff42f4">2,021</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzUtMS0xLTEtMA_c47638a1-e94f-433a-99ab-1073c801b47c">7,866</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzUtMy0xLTEtMA_e350482c-c707-4a9b-96d5-1594882657c1">5,641</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term deposits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:DepositsAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzYtMS0xLTEtMA_9a2d386f-ac63-49d9-aa78-ec6b86895329">712</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:DepositsAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzYtMy0xLTEtMA_3c8ed320-6052-4099-beb1-981eb1bf491f">796</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid and other current assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzctMS0xLTEtMA_1b326999-cc2f-4875-9cae-1b0f6a27601c">924</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzctMy0xLTEtMA_874f96a3-a751-482d-9b5f-0d22e496b158">782</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total current assets</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEwLTEtMS0xLTA_1fe8782a-8a1e-4a91-8dce-1257fc1fcecf">13,424</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEwLTMtMS0xLTA_207e937b-040a-440f-89f4-cbc2ba64bddd">11,076</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzExLTEtMS0xLTA_a21101a4-38c1-4695-9d49-354a3b2fb6f1">675</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzExLTMtMS0xLTA_e7820c81-18ae-4c60-9781-455b2df69af2">420</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease, right-of-use asset</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEyLTEtMS0xLTA_f886f319-2d42-4eb3-b349-904520758bcb">292</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEyLTMtMS0xLTA_bb8f1793-621c-4059-8be1-4e220c7a7445">794</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease, right-of-use asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:RestructuredOperatingLeaseRightOfUseAsset" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEzLTEtMS0xLTA_1cb633bc-d6b7-4eb0-8c1e-10b81908f544">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:RestructuredOperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEzLTMtMS0xLTA_b4f7923b-c7e5-4b15-9b64-3a10e348c566">107</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total assets</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzE2LTEtMS0xLTA_4eb1b09b-4b0c-4849-a82c-935cefd588b0">14,391</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzE2LTMtMS0xLTA_ec60b701-94d1-42b1-aa28-2f0f222b1b74">12,397</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">LIABILITIES</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzE5LTEtMS0xLTA_d9c8901a-b66a-4a2f-909c-28112923b440">2,235</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzE5LTMtMS0xLTA_f16b778f-4e0b-438f-92d2-adda2ad34107">2,477</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIwLTEtMS0xLTA_4006135c-8513-4009-a1da-cfa8204a4596">265</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIwLTMtMS0xLTA_bde7312e-28ef-4a03-adcd-1f4460dbe344">45</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued legal and professional fees</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:AccruedProfessionalFeesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIxLTEtMS0xLTA_a19284e5-1f4c-4b1e-82d4-ecc42ff5e79c">104</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:AccruedProfessionalFeesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIxLTMtMS0xLTA_8741eb7e-c87b-4787-81e9-520c5538570a">149</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued payroll and related benefits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIyLTEtMS0xLTA_065d4020-a348-4931-9dec-3c0b41bfc230">718</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:AccruedEmployeeBenefitsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIyLTMtMS0xLTA_92bf6dbd-b577-413b-b603-9ccf634d22d3">885</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued sales commissions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:AccruedSalesCommissionCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIzLTEtMS0xLTA_770d3eee-796a-4e87-8a60-284708eefd79">57</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:AccruedSalesCommissionCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIzLTMtMS0xLTA_436e8ea5-4dd2-4ee6-a9b7-aaf2d64b8375">95</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued restructuring</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:RestructuringReserveCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI0LTEtMS0xLTA_7d9f3a3f-e977-4849-9409-1423fbf6e1ad">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:RestructuringReserveCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI0LTMtMS0xLTA_6cc6bd2c-5b11-47b9-afc3-8b1d48eb1063">11</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued warranty reserve</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI1LTEtMS0xLTA_fe43ab63-048a-46dc-a147-fbd948486e83">295</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI1LTMtMS0xLTA_e4ec85a8-0d3c-4ea1-b317-717123d5558f">227</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:DeferredRevenueCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI2LTEtMS0xLTA_7b31a599-bdea-4c25-9756-7105cb2d0f6f">268</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:DeferredRevenueCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI2LTMtMS0xLTA_42d8c0cc-6b06-4ca7-99eb-51a26caa82da">72</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI3LTEtMS0xLTA_101788d2-cb13-43f9-b977-421e53344d14">325</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI3LTMtMS0xLTA_a77d1806-a92d-439b-8b98-dc7d3d369454">598</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:RestructuredOperatingLeaseLiabilityCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI4LTEtMS0xLTA_17992a9c-58fa-4595-b053-0feb62eae49b">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:RestructuredOperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI4LTMtMS0xLTA_4e780530-8924-4a72-9a48-8b08c06fef14">168</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI5LTEtMS0xLTA_b1abbaa1-779e-4d14-aefb-aab45962712e">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI5LTMtMS0xLTA_ab2dbd7a-6e41-4041-b7f7-a3e6de8bf78f">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Streeterville note, net of discount and loan origination fees</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:NotesPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMyLTEtMS0xLTA_c6ec46b1-5f83-4867-b7e4-7f37ea053e7f">1,719</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:NotesPayableCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMyLTMtMS0xLTA_f1cea8f4-1a8f-41c4-9968-1eee77e8f965">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PPP loan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:PaymentProtectionProgramCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMzLTEtMS0xLTA_73d6668e-91c9-45c7-b135-4f0bd5365ddf">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:PaymentProtectionProgramCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMzLTMtMS0xLTA_c7b49e97-f81d-4709-86d1-861a07801a04">529</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credit line borrowings, net of loan origination fees</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzM0LTEtMS0xLTA_17ca2f1b-c089-4891-bb18-696f9b8ce9d7">2,169</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzM0LTMtMS0xLTA_5fb7e261-0c88-48d4-a203-76349aa85633">2,298</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total current liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzM1LTEtMS0xLTA_2dc273f1-4dee-444b-b2e6-a51c2d7339ba">8,156</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzM1LTMtMS0xLTA_fd6378a9-229f-4c52-9e41-7e5ac8430023">7,557</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:10pt;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(continued on the following page)</span></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">AS OF DECEMBER 31,</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands except share data)</span></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:77.408%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.280%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.282%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, net of current portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzItMS0xLTEtMA_b6e882aa-9b17-4de7-9e2d-f183fa3e6783">26</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzItMy0xLTEtMA_92d1108d-923e-4830-9732-a6e8442b598c">318</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease liabilities, net of current portion</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityNoncurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzQtMS0xLTEtMA_0aa2a17c-ffda-40a0-9668-ecc67bf1b0e2">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzQtMy0xLTEtMA_8042723e-f882-4cab-ab99-2f908a0938d2">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PPP loan, net of current maturities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:PaymentProtectionProgramNoncurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzUtMS0xLTEtMA_759a878b-bb67-4eea-98b5-38c5d97d59cd">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:PaymentProtectionProgramNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzUtMy0xLTEtMA_0baae397-f201-4431-8c48-ff751bdc6820">266</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzgtMS0xLTEtMA_be5cfd5e-5f5e-43fc-af32-9a5ee753a751">8,182</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:Liabilities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzgtMy0xLTEtMA_e4759061-e0e5-4e81-a707-fe3569bfd1e3">8,142</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">STOCKHOLDERS&#8217; EQUITY</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">Preferred stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEwLTAtMS0xLTAvdGV4dHJlZ2lvbjo4OWZhODE3ZjJkNGU0Nzc1ODI3OTI4MmRmN2IwNzQ2NF8zMQ_9ed5b79c-6c2e-4566-9412-5bf8cf9a7c34"><ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEwLTAtMS0xLTAvdGV4dHJlZ2lvbjo4OWZhODE3ZjJkNGU0Nzc1ODI3OTI4MmRmN2IwNzQ2NF8zMQ_d6a8435c-dc1c-4d63-ad33-299750fa42fc">0.0001</ix:nonFraction></ix:nonFraction> per share:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Authorized: <ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzExLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MmEzMWJmNTY0ZjM0ZWMwYjk4NGNiNTdmMGYwNWJmZV8xNg_52ee5b54-79ed-4911-9722-93b025efead5"><ix:nonFraction unitRef="shares" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzExLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MmEzMWJmNTY0ZjM0ZWMwYjk4NGNiNTdmMGYwNWJmZV8xNg_f8977c07-47d1-4278-863d-70fef2000855">5,000,000</ix:nonFraction></ix:nonFraction> shares (<ix:nonFraction unitRef="shares" contextRef="i38203ad2c81042c4b1b2fdb3f8f3a670_I20201231" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzExLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MmEzMWJmNTY0ZjM0ZWMwYjk4NGNiNTdmMGYwNWJmZV8yNw_1f3325a7-0966-4820-a971-87c72dd31be7"><ix:nonFraction unitRef="shares" contextRef="id1ac25d149444ee287749c98e0efe20e_I20211231" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzExLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MmEzMWJmNTY0ZjM0ZWMwYjk4NGNiNTdmMGYwNWJmZV8yNw_4ff13fba-4d29-46e6-a6ac-69befa85e395">3,300,000</ix:nonFraction></ix:nonFraction> shares designated as Series A Convertible Preferred Stock) at December&#160;31, 2021 and December&#160;31, 2020</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Issued and outstanding: <ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjo1MGEyYzJiZjA3NWQ0OTVlYWM0NjgxM2JiYWJkNmE4Yl8yOA_2251bc5d-f515-4366-9853-757c6dd08152"><ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjo1MGEyYzJiZjA3NWQ0OTVlYWM0NjgxM2JiYWJkNmE4Yl8yOA_8996bd1f-f8f2-4e51-8bca-bbb3b620ba5b">876,447</ix:nonFraction></ix:nonFraction> shares at December&#160;31, 2021 and <ix:nonFraction unitRef="shares" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:PreferredStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjo1MGEyYzJiZjA3NWQ0OTVlYWM0NjgxM2JiYWJkNmE4Yl81Ng_1845d473-21c2-423c-a322-a9928441e44d"><ix:nonFraction unitRef="shares" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjo1MGEyYzJiZjA3NWQ0OTVlYWM0NjgxM2JiYWJkNmE4Yl81Ng_928620a4-ea9b-450f-b26a-24367b59b7ef">2,597,470</ix:nonFraction></ix:nonFraction> shares at December&#160;31, 2020</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTEtMS0xLTA_d8b51593-a073-41db-a2a8-a95e352af702">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTMtMS0xLTA_058e68d2-9dc3-4be7-b553-e616a63bdbab">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%">Common stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEzLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MDkzYTJlYjI4Mjc0MThiODE0MmZlZDI5NDljMDJkMF8yOA_74458553-a1cc-466f-b886-9ddfba0580af"><ix:nonFraction unitRef="usdPerShare" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEzLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MDkzYTJlYjI4Mjc0MThiODE0MmZlZDI5NDljMDJkMF8yOA_7762a891-96c7-4781-af14-09f7bacecebe">0.0001</ix:nonFraction></ix:nonFraction> per share:</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Authorized: <ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE0LTAtMS0xLTAvdGV4dHJlZ2lvbjpjNGVkY2FiYjU0ZWU0ZDkxOWMyZjg4ZmU1ZDM0MmQ2Zl8xNg_0614306f-4613-4c8d-b8f4-027a7dcebc2e"><ix:nonFraction unitRef="shares" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE0LTAtMS0xLTAvdGV4dHJlZ2lvbjpjNGVkY2FiYjU0ZWU0ZDkxOWMyZjg4ZmU1ZDM0MmQ2Zl8xNg_0b697b10-0f57-4c8a-b356-dc5c7df471ac">50,000,000</ix:nonFraction></ix:nonFraction> shares at December 31, 2021 and December 31, 2020</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Issued and outstanding: <ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF8yOA_729f1a78-b1be-4966-9b51-5d1310b8c24b"><ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF8yOA_feeaa67b-7e0b-4232-9cb7-94bc8806aed0">6,368,549</ix:nonFraction></ix:nonFraction> shares at December 31, 2021 and <ix:nonFraction unitRef="shares" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF81Ng_8c53f8fe-7375-4ac3-9baf-a8eaab72264f"><ix:nonFraction unitRef="shares" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF81Ng_fef64df8-1f2e-4585-89a4-4490387b3c63">3,525,374</ix:nonFraction></ix:nonFraction> shares at December 31, 2020</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:CommonStockValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTEtMS0xLTA_8a703d42-08e2-49e4-aaa0-f7fae8bbb6ff">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:CommonStockValue" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTMtMS0xLTA_00827cc4-c97f-45c1-895c-db90f196aa83">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE2LTEtMS0xLTA_2b80a7e3-a8b1-4c4f-ace5-a92896aef0f3">144,953</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:AdditionalPaidInCapitalCommonStock" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE2LTMtMS0xLTA_4c605efc-5b5b-436a-9759-62a8d253818b">135,113</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE3LTEtMS0xLTA_8cc459ae-c171-4831-b767-bd9d5333696f">3</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE3LTMtMS0xLTA_148565ca-c668-430a-b9eb-0fa029305544">3</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated deficit</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE4LTEtMS0xLTA_ae63823f-de8e-44e4-9d9c-082ea52aa0ff">138,741</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" sign="-" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE4LTMtMS0xLTA_325d5c88-7a86-4a23-971e-657893b1e7c9">130,855</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stockholders' equity</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE5LTEtMS0xLTA_e9a7aefe-d710-4583-a603-a0cc54ed38fd">6,209</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE5LTMtMS0xLTA_a44a7407-a8d0-40c3-b607-81755ca945e6">4,255</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total liabilities and stockholders' equity</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzIwLTEtMS0xLTA_335617c3-bd9f-4bf3-a0e2-4ff245dbac10">14,391</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzIwLTMtMS0xLTA_5cf032a8-6b38-483e-9e9e-f96d8fae0e74">12,397</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_124"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF OPERATIONS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FOR THE YEARS ENDED DECEMBER 31,</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands except per share data)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.929%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.522%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzEtMS0xLTEtMA_641d600b-26ca-42e3-a466-ce04cdd77dfb">9,865</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzEtMy0xLTEtMA_61265da8-7224-419a-9c60-cdac4579a1d0">16,828</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzItMS0xLTEtMA_82a187a4-f2a3-44d3-a9f4-0e35da71f23e">8,167</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzItMy0xLTEtMA_5bbe413f-8a97-4ce8-b5cf-4b8a572e0c32">11,643</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzMtMS0xLTEtMA_3350393e-678d-40d4-8435-83a2aa6a7686">1,698</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzMtMy0xLTEtMA_e9a78e7f-fd43-49a4-a311-b9b916e0bbb3">5,185</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:8pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzYtMS0xLTEtMA_23153b99-1ba1-42a4-b984-e087512ba93f">1,891</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:ResearchAndDevelopmentExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzYtMy0xLTEtMA_1cc5ca8d-5ed1-4f0f-bd01-1e34e147b763">1,415</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzctMS0xLTEtMA_2752ca29-3c78-41d5-878f-2a148632a382">8,535</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzctMy0xLTEtMA_b1c47f12-e511-47c1-bfd8-c59a7aa37b53">7,900</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructuring </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:RestructuringCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzktMS0xLTEtMA_cdea1dfb-5c21-40ea-863d-a79cf93bb625">21</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:RestructuringCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzktMy0xLTEtMA_b23c138a-1652-450b-98a7-1a1c568c4cc0">60</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total operating expenses</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzExLTEtMS0xLTA_13314f48-ec3f-4124-ba39-dad5c46d0266">10,405</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:OperatingExpenses" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzExLTMtMS0xLTA_c6820def-fc8b-4064-ae6c-b01d4768b5f7">9,255</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Loss from operations</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzEyLTEtMS0xLTA_8c325ab0-00b9-40a3-a1a8-a2ea5ba23e62">8,707</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzEyLTMtMS0xLTA_a0f1ad11-6ae2-41ed-bd24-f5a2ff254a79">4,070</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:8pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other expenses:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:InterestExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE2LTEtMS0xLTA_9ee34d62-2cc2-4d71-bdcf-01bffe4304f0">792</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:InterestExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE2LTMtMS0xLTA_8d637f59-c605-4ca8-9c24-07469505ea58">481</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on forgiveness of PPP loan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231" decimals="-3" name="efoi:GainLossOnForgivenessOfDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE3LTEtMS0xLTc1Ng_c0baec71-3224-44b5-ae0d-54edf719bcf8">801</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:GainLossOnForgivenessOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE3LTMtMS0xLTc1Ng_3c77d03b-1e1b-4b72-a78e-9fce5a524d00">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on extinguishment of debt</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE3LTEtMS0xLTA_44729af6-7424-494a-b16b-8ee0a8a81dad">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:GainsLossesOnExtinguishmentOfDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE3LTMtMS0xLTA_cfac12f5-170f-4954-aece-a3422d93fafe">276</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income - employee retention tax credit</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:GainLossFromEmployeeRetentionTaxCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE5LTEtMS0xLTI3NDY4_9a12876e-3d26-416b-bc80-db4c16668dab">876</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:GainLossFromEmployeeRetentionTaxCredit" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE5LTMtMS0xLTI3NDY4_d865ca6b-922c-4abd-9e63-cf6ff682440f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss from change in fair value of warrants</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:FairValueAdjustmentOfWarrants" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE4LTEtMS0xLTA_98154bd5-a5c8-4f0d-a15c-42c1555d534e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:FairValueAdjustmentOfWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE4LTMtMS0xLTA_84c12cb7-dc9d-4060-b6ee-f8a1ebf078a6">1,086</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE5LTEtMS0xLTA_4c25f5d5-b556-40a9-8215-164d17347f52">65</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE5LTMtMS0xLTA_341c2e47-e716-44c0-81f0-d29e53aeeeb6">73</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Loss from operations before income taxes</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzIxLTEtMS0xLTA_740af03e-6dce-468c-b3bf-07d5bdfd7547">7,887</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzIxLTMtMS0xLTA_c6dbb8d4-1534-489b-979e-a836fe57183f">5,986</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefit from income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzIyLTEtMS0xLTA_3bfb8858-72f2-4b23-9cec-b115a5b66aea">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzIyLTMtMS0xLTA_cb6f1a19-0bf9-4d48-96f3-9ddfcdc539af">5</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzMzLTEtMS0xLTA_7dba090b-0238-40b1-8380-4cef1c785dc7">7,886</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzMzLTMtMS0xLTA_6fe7436f-aefa-4ec0-82ec-2584e6f8a75c">5,981</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:8pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss per common share - basic and diluted:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="2" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzM4LTEtMS0xLTA_bb95b70c-191f-437a-921e-d8157bfb75ff"><ix:nonFraction unitRef="usdPerShare" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="2" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzM4LTEtMS0xLTA_c1e5f45a-3616-4e6d-9de8-afeb1fab29be">1.73</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="2" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzM4LTMtMS0xLTA_47dd8d48-8827-4a34-bf36-4ce0c20dbac7"><ix:nonFraction unitRef="usdPerShare" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="2" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzM4LTMtMS0xLTA_dfcb417e-d8e8-428a-8a58-f5aa543f5691">1.83</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:8pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted average shares of common shares outstanding:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic and diluted*</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_08168ba6-f958-41fc-a4bc-69ad0eb96e64"><ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_5c4b2ca1-1270-4bac-a44b-3dc0acb0785a">4,561</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_a81e93fe-6a31-426b-b0f0-f1337b3fb947"><ix:nonFraction unitRef="shares" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_cb43b184-2f6b-487c-bd9b-a1a2868ee3ce">3,270</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="12" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:footnote id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60" footnoteRole="http://www.xbrl.org/2003/role/footnote">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</ix:footnote></span></div></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:6pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_127"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FOR THE YEARS ENDED DECEMBER 31,</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.929%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.522%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzEtMS0xLTEtMA_52e401aa-8fb5-4cd1-a469-27758e46e76c">7,886</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzEtMy0xLTEtMA_e89a58b6-236f-468a-ac60-415a19c78b0d">5,981</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Other comprehensive loss:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzQtMS0xLTEtMA_30495598-1b06-48eb-954c-a299839feea4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzQtMy0xLTEtMA_0fe98fc6-f166-48a1-9f50-c1b84e5f39b4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Comprehensive loss</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzYtMS0xLTEtMA_4d54bca1-cf1f-4eeb-83cd-e59fd21bf800">7,886</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzYtMy0xLTEtMA_e4a586a6-7992-4a21-8368-a00f0f15bb09">5,981</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:9pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_130"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FOR THE YEARS ENDED DECEMBER 31, 2021 AND 2020 </span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:23.247%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.131%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.379%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.291%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.379%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.291%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.581%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.755%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.508%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.928%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.524%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.590%"></td><td style="width:0.1%"></td></tr><tr style="height:12pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" rowspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" rowspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Additional<br/>Paid-in<br/>Capital</span></td><td colspan="3" rowspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" rowspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>Loss</span></td><td colspan="3" rowspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" rowspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Preferred Stock</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="display:none"></td><td colspan="3" rowspan="2" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Deficit</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Shares*</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at December 31, 2019</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8ef81b3ca36b41809c79c3c111f3456a_I20191231" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTEtMS0xLTA_a06a2f7c-94f7-495d-9c46-efac89257ca9">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8ef81b3ca36b41809c79c3c111f3456a_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTMtMS0xLTA_30e6af7e-2d54-4bc9-90c1-2f3c95fc4911">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="icf7a14f576aa403e94247f76aa988127_I20191231" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTUtMS0xLTA_2fec7892-0246-4f3a-82aa-e5630642dd8f">2,486</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icf7a14f576aa403e94247f76aa988127_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTctMS0xLTA_c66aa328-5191-4539-984f-b49f50f174fb">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i340d2f1f76594807a4612967e77b7291_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTEzLTEtMS0w_a52b0da5-e717-436d-b388-225b62d42fd8">128,873</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib6e8961ff3f14e2b9b409b88df491ee2_I20191231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTE1LTEtMS0w_1d0700eb-f17b-43fc-afdb-4c9be71780fb">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib7366f7047d14decbef4dfff758cf7bb_I20191231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTE3LTEtMS0w_eb8e8785-ace4-4df3-b139-597ca436c23d">124,874</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTE5LTEtMS0w_ab87daa6-670a-4680-b23d-4e359f6df0bd">3,996</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Issuance of common stock under employee stock option and stock purchase plans</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTUtMS0xLTA_f2de4794-894a-4739-891f-0a662d23770d">60</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTEzLTEtMS0w_1cd160e8-4377-4f4a-93bb-858ee21aead8">100</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTE5LTEtMS0w_0f019d61-929b-4d7c-bfd3-01822e996957">100</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYxLTEzLTEtMS0w_95daec0b-29a4-46c1-aa49-bc99efac842c">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYxLTE5LTEtMS0w_66a8fd0e-05cf-45d9-ba3b-a4aee7a6e286">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Issuance of common stock and warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTUtMS0xLTA_6356fb33-48a0-4b49-9745-f3ffcb1e6c2d">688</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTEzLTEtMS0w_29f70d81-f4f2-4ef2-b696-e1178f8c25b7">2,749</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTE5LTEtMS0w_c9ca4495-98f2-43b5-850a-11ca0d348256">2,749</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Offering costs on issuance of common stock and warrants</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYzLTEzLTEtMS0w_e2210ea3-f5bd-4963-b793-cc07ecb6b843">510</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYzLTE5LTEtMS0w_6275d54b-f760-4105-8d4d-55e9b2444510">510</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Issuance of common stock upon the exercise of warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTUtMS0xLTA_46f993bd-944b-44a2-985a-4f43d0abb672">269</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231" decimals="-3" name="us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTEzLTEtMS0w_c2f205cd-de2e-468e-b119-a633760e3e61">2,235</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTE5LTEtMS0w_f9051c8c-6212-45af-a1e8-aa942a8504e1">2,235</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warrant liability - issuance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY1LTEzLTEtMS0w_aa0e4b42-8e3b-4c3c-99f7-52b7c57e0781">1,636</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY1LTE5LTEtMS0w_98352740-aeca-4793-b401-771d7c050ca6">1,636</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warrant liability - modification</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231" decimals="-3" name="efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY2LTEzLTEtMS0w_763a1496-6b87-4e54-a066-853ba3d86881">1,405</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY2LTE5LTEtMS0w_ed04b9f3-6366-412d-b188-8cbdab679621">1,405</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Conversion of notes to preferred stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i72719563d6db4b70a95de40fd93ff04a_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY3LTEtMS0xLTA_6b40c176-3ba2-4357-acc8-8af570fa2e70">2,709</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie520b8b405e5481387ba54e5b500f9f4_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY3LTEzLTEtMS0w_d522cc9a-8190-4ce7-a816-2d6e45623c61">1,769</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i87666b90c1c04d669f2fa874ee6b3f79_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY3LTE5LTEtMS0w_ff44662a-a463-483a-8efd-beb4ccee9537">1,769</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Issuance of common stock upon the conversion from preferred stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ic31fb516724d43d1baa73cedc622327c_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY4LTEtMS0xLTA_b19b772b-ae50-4e52-9f34-1b1a9661064c">112</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY4LTUtMS0xLTA_275ce0f7-f1ae-4faf-a324-7f9ec3be3370">22</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY5LTEzLTEtMS0w_8004ef84-cb2a-4dc6-a16d-bd42e92a7906">131</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY5LTE5LTEtMS0w_78db70a2-6ec5-42d7-8fb9-61aaf87ebd03">131</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="icfe60ea5641440fab5d2ba8a7f2645ad_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcwLTE3LTEtMS0w_a39a754a-dc63-4622-96ff-cb935aa5f21b">5,981</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcwLTE5LTEtMS0w_e206dbb6-0338-4dba-9329-affa2b4d4409">5,981</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at December 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i1cea56881a1c4785a365970521e4ea85_I20201231" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTEtMS0xLTA_10f4910b-634f-4651-8008-bd10ec170dd5">2,597</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1cea56881a1c4785a365970521e4ea85_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTMtMS0xLTA_575fe547-b0bd-4f93-8ab0-a9809ee90d39">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i4b0ef40e853240b8b95a961497447f9f_I20201231" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTUtMS0xLTA_517ec01d-23dd-4811-bd8b-a77b610eb21b">3,525</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4b0ef40e853240b8b95a961497447f9f_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTctMS0xLTA_c61c190c-4a18-4956-b06c-cbb51de7b08d">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i422747c982534d28a362d90cf69b7e63_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTEzLTEtMS0w_ebc9f0c6-ac5d-4d03-bd05-c62efb8570f2">135,113</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i882e9c4100b44768a47a2784cd216341_I20201231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTE1LTEtMS0w_8fcf8ad4-443a-449f-a8d5-5e7b39df8006">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="idceb843113eb4a09bb5e73a319505fc7_I20201231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTE3LTEtMS0w_ca92ab70-d61d-445c-9e4f-9e046769838c">130,855</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTE5LTEtMS0w_6f0806c3-93ff-4047-a4d6-00f175894846">4,255</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Issuance of common stock under employee stock option and stock purchase plans</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTUtMS0xLTM4NQ_9ca8cad5-9cf5-44b3-8062-8460b8688df2">79</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTEzLTEtMS0zODU_a45c5162-7a1f-48a6-be0c-6a2189b70337">80</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTE5LTEtMS0zODU_2b1c972d-f3b3-4afb-867f-d433565ad6a3">80</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzczLTEzLTEtMS0zODU_cc4d2ac4-0916-4384-b655-f143f36dc6fc">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzczLTE5LTEtMS0zODU_3fe67e5e-73de-4c3f-8760-7e2d96ff09ff">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Issuance of common stock and warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTUtMS0xLTM4NQ_f7eb3ceb-081c-4973-9eb4-ee731a22afc9">2,183</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTEzLTEtMS0zODU_9f17d462-d015-493f-b81b-b6dc29b4197b">9,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTE5LTEtMS0zODU_8f86a539-eaf5-469d-b6bf-29f115faa13e">9,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Offering costs on issuance of common stock and warrants</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc1LTEzLTEtMS0zODU_b6cd750d-4058-4b9e-8acd-027f228b8c5d">969</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc1LTE5LTEtMS0zODU_35c1a026-ad50-467f-aa6e-2be3ff5351a9">969</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Issuance of common stock upon the exercise of warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTUtMS0xLTM4NQ_baf07fc7-da8e-4c1c-8ecc-380d268c6b7d">237</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231" decimals="-3" name="us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTEzLTEtMS0zODU_f9cd0d8e-6d81-4feb-81c5-295f2df679c4">801</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTE5LTEtMS0zODU_b602bcd4-5c44-40a5-9ec2-29d733838feb">801</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Issuance of common stock upon  conversion from preferred stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="idaf1a359762d42a7947ac5132fa0fded_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgwLTEtMS0xLTM4NQ_f6662929-65a2-44a3-a9f6-beebf9de9837">1,721</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgwLTUtMS0xLTM4NQ_62c95a26-22d9-45d2-818a-ec9ede1a623f">344</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgxLTEzLTEtMS0zODU_77dcddca-0f4d-458e-9eb0-dbed7c898597">429</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgxLTE5LTEtMS0zODU_ee4bf9df-a0b4-438d-bd75-2fe0a52583ec">429</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="id03c813faedc4eb9967f598bf8ea7631_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgyLTE3LTEtMS0zODU_1a21e335-710f-46dd-95e0-5eab74804b8a">7,886</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgyLTE5LTEtMS0zODU_52bb53de-f3ea-4c8a-9c45-5d4c21e95089">7,886</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at December 31, 2021</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic01f4600ec4648a890468d6db78dea46_I20211231" decimals="-3" name="us-gaap:SharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTEtMS0xLTQ1MjMy_39ba696d-376c-451a-a0f4-c8c5f55a1eae">876</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic01f4600ec4648a890468d6db78dea46_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTMtMS0xLTQ1MjMy_0146afc4-6c85-431a-82f2-78be2a4d7be7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0a0e1efc24584ca39b34989185b54eaf_I20211231" decimals="-3" name="us-gaap:SharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTUtMS0xLTQ1MjMy_6d60ea95-3e82-4714-9689-ea28e0c45607">6,368</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0a0e1efc24584ca39b34989185b54eaf_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTctMS0xLTQ1MjMy_236e9a03-7f5a-47db-b36c-41024ab6cb18">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic14783271a45468f8a86cd80f079cf4f_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTEzLTEtMS00NTIzMg_2c690468-e1ac-4416-8bb9-4ecbf6cc987a">144,953</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ifbdf5c17ad2e4fab8e1954d40724373c_I20211231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTE1LTEtMS00NTIzMg_77202276-5f82-4853-8391-6dd71f59a173">3</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i8533402d2c1f449eb1b4847fd40069a5_I20211231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTE3LTEtMS00NTIyOQ_54e066ce-0ed9-45f6-9abe-1b3ea49ccfae">138,741</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTE5LTEtMS00NTIyMA_e5c0235f-bb7b-4f5b-b218-236aa29a4e7f">6,209</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="48" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:footnote id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973" footnoteRole="http://www.xbrl.org/2003/role/footnote">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</ix:footnote></span></div></td></tr></table></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_133"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FOR THE YEARS ENDED DECEMBER 31,</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:1pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:80.625%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.671%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.674%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Cash flows from operating activities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzItMS0xLTEtMA_6519f29b-0526-415f-a80b-c7f416decab7">7,886</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzItMy0xLTEtMA_2f910332-ee76-46ab-90c1-5f01c1529a99">5,981</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Adjustments to reconcile net loss to net cash used in operating activities:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income - employee retention tax credit</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:GainLossFromEmployeeRetentionTaxCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMS0xLTEtMjc1MjA_eb98d796-ba95-4218-8b41-262701ef980d">876</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:GainLossFromEmployeeRetentionTaxCredit" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMy0xLTEtMjc1MjA_d7b33626-207e-43b6-ae3d-8a531caeb06f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gain on forgiveness of PPP loan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:GainLossOnForgivenessOfDebt" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMS0xLTEtNzk5_49badfb5-2668-4a0e-92a4-a019cc3e4c17">801</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:GainLossOnForgivenessOfDebt" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMy0xLTEtNzk5_85c83301-824d-4552-9df6-80738978045f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:Depreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMS0xLTEtMA_3b0c906d-1a1b-43f5-a5ab-10f235b48f51">188</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:Depreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMy0xLTEtMA_e044e9ab-9db9-4c90-970e-ae13942ef4de">184</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzgtMS0xLTEtMA_459e62a6-7b58-4c55-8985-e607449dc199">429</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzgtMy0xLTEtMA_fec4594e-0c02-477a-a28b-ba2b1b27960a">131</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Change in fair value of warrant liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:FairValueAdjustmentOfWarrants" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzExLTEtMS0xLTA_6060d1d4-01f8-4b0c-810f-66d3b942306a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:FairValueAdjustmentOfWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzExLTMtMS0xLTA_c668c73f-b364-42cc-9159-0ad9ff601c08">1,086</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for doubtful accounts receivable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzEyLTEtMS0xLTA_31e5181a-fdbd-4dc2-9846-413652895f9c">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzEyLTMtMS0xLTA_16083a35-e453-480d-a3a4-f12a4aa3417e">20</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for slow-moving and obsolete inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:InventoryWriteDown" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzEzLTEtMS0xLTA_cdefc52b-dffe-4dcf-ab95-3dd7500658b4">156</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:InventoryWriteDown" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzEzLTMtMS0xLTA_c676407b-6ec3-4d46-b89a-73c22b70d24f">610</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for warranties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:IncreaseDecreaseInProvisionForWarranties" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE0LTEtMS0xLTA_3bfb544a-a6be-477d-bbd8-e6cc4e6b449f">68</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:IncreaseDecreaseInProvisionForWarranties" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE0LTMtMS0xLTA_655c08be-0a1c-4bcc-bf78-db68ffa837eb">31</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of loan discounts and origination fees</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:AmortizationOfDebtDiscountPremium" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE2LTEtMS0xLTA_d2def46d-f7cf-4908-89ca-cf3048df345c">230</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:AmortizationOfDebtDiscountPremium" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE2LTMtMS0xLTA_3fc816cf-a5e1-4839-863d-777f90fd70b6">395</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss on dispositions of property and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE4LTEtMS0xLTA_b062fa47-c3f4-42f5-8bdd-270606cb6a36">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE4LTMtMS0xLTA_e490a89e-d1b8-4bfb-8446-94ba18705332">8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Change in operating assets and liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzIxLTEtMS0xLTA_befea0cc-a8cb-46d9-af2c-14e535aefe99">783</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzIxLTMtMS0xLTA_61a12b09-08da-43be-8032-cb3652b8e40e">377</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzIzLTEtMS0xLTA_1701f489-77d2-4110-bc0c-873698afc5a7">2,381</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzIzLTMtMS0xLTA_d203ba18-1a0f-4c56-b521-9191dd3c686f">1,137</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term deposits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInDepositOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI0LTEtMS0xLTA_232d047d-f9c7-4f80-b4f3-1c4af1be2619">257</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInDepositOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI0LTMtMS0xLTA_4505c223-d076-4661-bb10-4b7a8adc3418">670</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid and other assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI1LTEtMS0xLTA_3d5f53b2-5fd8-46bb-98aa-aaf6d25d563b">669</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI1LTMtMS0xLTA_46088fcc-8314-40d8-af47-2763c26d18d9">18</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI2LTEtMS0xLTA_c0e5a46e-e737-41be-b103-cb4bc8956e24">423</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI2LTMtMS0xLTA_8050f990-4fda-4d45-be8b-a647faa501a8">1,096</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued and other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI3LTEtMS0xLTA_3a5d697c-8f97-4994-b432-8846b8c8c4d0">380</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI3LTMtMS0xLTA_7205e16e-88b6-437e-8b32-45b9e431deba">349</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:IncreaseDecreaseInDeferredRevenue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI5LTEtMS0xLTA_ec4e5670-db37-4294-ada8-34fbcaec9ba6">196</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:IncreaseDecreaseInDeferredRevenue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI5LTMtMS0xLTA_3ebc6b0a-9de2-4aca-9c7e-9ee432424eaa">54</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 43.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total adjustments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzMwLTEtMS0xLTA_058b4545-94fb-4a38-998b-35784b9d43de">1,879</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzMwLTMtMS0xLTA_9cb7b0ea-99c9-4270-9404-10fc5ecef866">3,530</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net cash used in operating activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzMxLTEtMS0xLTA_6dca5f50-608d-4b1d-a2f9-808e9a195735">9,765</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzMxLTMtMS0xLTA_98af5842-2a14-4036-8443-218f50834a14">2,451</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Cash flows from investing activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquisitions of property and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM0LTEtMS0xLTA_b3ef0dbe-2395-49c1-8ff6-776a24db19b3">443</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM0LTMtMS0xLTA_77c6a7c9-3943-4771-8147-c15e43ad5cd8">223</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net cash used in investing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM2LTEtMS0xLTA_5a4ec489-283d-4e3a-83c6-26a9fb75f480">443</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM2LTMtMS0xLTA_51809ee1-1d04-4a33-b316-216100bf198e">223</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Cash flows from financing activities:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from the issuance of common stock and warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:ProceedsFromIssuanceOfCommonStockAndWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM5LTEtMS0xLTA_81c13e7e-d769-4aff-a37b-f4ab59b40ab1">9,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:ProceedsFromIssuanceOfCommonStockAndWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM5LTMtMS0xLTA_d820d656-ef0c-474e-88d4-36e696d5e133">2,749</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from the exercise of warrants</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromWarrantExercises" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQwLTEtMS0xLTA_279a69ba-e441-422f-86b5-ff5bd2bc9570">801</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromWarrantExercises" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQwLTMtMS0xLTA_856a26fb-3a9b-461f-a9c4-9ad1973c9f42">918</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Offering costs paid on the issuance of common stock and warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQxLTEtMS0xLTA_202fdcf1-3037-44de-984b-b85cc45ad9cf">969</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQxLTMtMS0xLTA_caa3b2e5-5132-43f3-9729-755c6b8dfaaf">510</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from PPP loan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:ProceedsFromPaycheckProtectionProgram" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQyLTEtMS0xLTA_cbdece5b-63d4-4570-b0ab-84b7d9292cf7">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:ProceedsFromPaycheckProtectionProgram" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQyLTMtMS0xLTA_5d963a4e-9fd1-4330-bbbf-c0c91331cd20">795</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from exercise of stock options and purchases through employee stock purchase plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQzLTEtMS0xLTA_ff942d29-723b-4cf5-964d-45f6038f5a02">80</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQzLTMtMS0xLTA_c581eb78-9b12-4b56-af56-1e74162e51fd">100</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Principal payments under finance lease obligations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ0LTEtMS0xLTA_173812ef-e05e-4a12-9608-63194f2d136b">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ0LTMtMS0xLTA_1adadc0e-911b-410e-af3d-6fb857fdbf08">3</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ1LTEtMS0xLTA_f7974d77-ab5f-44ac-b923-a465b18c38c2">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ1LTMtMS0xLTA_76f5dbfe-8a60-44f1-8a1e-5787f504139b">3</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments for deferred financing costs &amp; termination fees</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsOfFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ3LTEtMS0xLTA_7905cdd4-0890-475c-b7d3-72988811bf50">30</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsOfFinancingCosts" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ3LTMtMS0xLTA_ba9ba885-b7fb-4952-8976-fc630ee5f622">320</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments on the Iliad Note</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ5LTEtMS0xLTA_8ad106f9-f350-4c4c-a74f-d14dac1ab1f6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ5LTMtMS0xLTA_c21ca1d8-eb9b-41eb-9906-421768a0344c">1,306</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from the Streeterville Note</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromNotesPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUxLTEtMS0xLTg5Ng_e8c95059-07a6-482e-b3cb-8f43f5d1a315">1,515</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromNotesPayable" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUxLTMtMS0xLTgzNA_8d709df1-0dd8-44af-bf73-e5e41c716196">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net payments on credit line borrowings - Austin Facility</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i235af9e1c854468da093d2b9cd1f5fcf_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromRepaymentsOfLinesOfCredit" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUxLTEtMS0xLTA_01cbdfbb-1602-4b8e-86f2-e59607e73290">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i4e01fb1d663d42b7b2a159a9b0386fa0_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:ProceedsFromRepaymentsOfLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUxLTMtMS0xLTA_ec19fbdb-4393-419b-94bd-a7b98ae306fa">719</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net (payments on) proceeds from credit line borrowings - Credit Facilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i038a23f2db1b46c798a804a5f3b676e3_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:ProceedsFromRepaymentsOfLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUyLTEtMS0xLTA_eee230a9-3e0a-4264-8766-9d1ceeed510c">181</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie2817b214aa947fba6bab10126e1aafd_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromRepaymentsOfLinesOfCredit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUyLTMtMS0xLTA_fdcf86b0-d371-48c4-b0fc-aa911e210a96">2,459</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net cash provided by financing activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUzLTEtMS0xLTA_7b4bdf12-f425-4653-8e65-0ed00e3d3bd2">10,712</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUzLTMtMS0xLTA_fd04b03a-826f-4abc-92a2-597caba64bd1">4,160</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(continued on the following page)</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">51</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-top:9pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(CONTINUED)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FOR THE YEARS ENDED DECEMBER 31,</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:69.592%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.185%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.187%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net increase in cash and restricted cash</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzgtMS0xLTEtMA_5b006e61-b17d-4132-a3c2-020ca84707bb">504</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzgtMy0xLTEtMA_f0b89750-87d6-4dd6-92a6-1f5dc26ef2f1">1,486</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and restricted cash, beginning of year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzktMS0xLTEtMA_37b6222b-a26a-4c5d-9c7f-d5ba1723e69c">2,178</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzktMy0xLTEtMA_55b0de5f-fa56-42f0-8d82-cc93d27f98fe">692</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and restricted cash, end of year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzEwLTEtMS0xLTA_ac01e77e-041e-4188-9e8f-1f3d0dd26d38">2,682</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzEwLTMtMS0xLTA_d0358d1a-fb40-456a-8992-58644af521ea">2,178</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Classification of cash and restricted cash:</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash </span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzEzLTEtMS0xLTA_70345e85-3c7e-4a99-9c79-866a30b46af2">2,682</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzEzLTMtMS0xLTA_f69c25da-55fb-472d-a300-f357bbd053b8">1,836</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash held in other assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalents" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE0LTEtMS0xLTA_fab56ef9-25f2-450d-9250-322a6e51a073">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:RestrictedCashAndCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE0LTMtMS0xLTA_1eb8ee54-c14b-4f08-bc7d-8efbf90d7282">342</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Cash and restricted cash</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE2LTEtMS0xLTA_426c631f-68b7-41c1-9d2f-5614e248e5a4">2,682</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE2LTMtMS0xLTA_f40601fa-be78-4d93-848e-37abe0c8862b">2,178</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:5pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental information:</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid in year for interest</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:InterestPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE5LTEtMS0xLTA_22a8cb64-906e-4f45-afa5-2a3019707c6d">381</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:InterestPaidNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE5LTMtMS0xLTA_ff47d991-3e71-4e6c-8f73-8111a6b03e57">269</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid in year for income taxes</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:IncomeTaxesPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzIwLTEtMS0xLTA_b4bd0076-ad53-45b2-a573-abc1965f4e64">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:IncomeTaxesPaid" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzIwLTMtMS0xLTA_8ee6ba4b-bd04-400e-a9e2-ad1338746f22">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:9pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying notes are an integral part&#160;of these consolidated financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_136"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><div><span><br/></span></div><div id="i0aac58884afd43c7af148e399624b8eb_139"></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 1.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:NatureOfOperations" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4Xzc3NzE_a1fac7fa-f8a7-43a8-a8c3-e363177ac6ac" continuedAt="ia74acdd8b5aa425b8fc07f3d09350d8c" escape="true">NATURE OF OPERATIONS</ix:nonNumeric></span></div><ix:continuation id="ia74acdd8b5aa425b8fc07f3d09350d8c" continuedAt="i92098238f40a442bb50936757d3626f1"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls and ultraviolet-C light disinfection (&#8220;UVCD&#8221;) products. We develop, market and sell high quality light-emitting diode (&#8220;LED&#8221;) lighting and controls products and UVCD products in the commercial market and military maritime market (&#8220;MMM&#8221;), and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities, offices and homes with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit and UVCD solutions. Our goal is to be the LED and human-centric lighting (&#8220;HCL&#8221;) technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#8220;TLED&#8221;) products, as well as other LED and lighting control products for commercial and consumer applications. In late 2020, we announced the launch of our UVCD product portfolio. With initial development complete and two products now brought to market, we anticipate the development of additional UVCD products in 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The LED lighting industry continues to be characterized by increasing challenges in differentiating product offerings, competition and price erosion. We have been experiencing these industry forces in both our military business since 2016 and in our commercial segment where we once commanded significant price premiums for our flicker-free TLEDs with primarily 10-year warranties. In more recent years, we have focused on redesigning our products for lower costs and consolidating our supply chain in order to price our products more competitively. Despite these efforts, our legacy products continue to face aggressive pricing competition. These trends are not unique to Energy Focus as evidenced by the increasing number of industry peers facing challenges, exiting LED lighting, selling assets and even going out of business. In addition to continuous cost reductions, our strategy to combat these trends is to move up the value chain, with more innovative and differentiated products and solutions that support a premium. Two specific examples of these</span><span style="color:#ee2724;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">products we have recently developed include the RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-4.2pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, our emergency backup battery integrated TLED, and EnFocus&#8482;, our new dimmable/tunable lighting and powerline control platform that we launched in 2020. We believe our revamped go-to-market strategy that focuses more on direct-sales and additional sales representatives and listens to the voice of the customer, has informed more impactful product development efforts that could eventually translate into larger addressable markets and greater sales growth for us.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021, we continued to see certain benefits from the relaunch efforts (described below) that began in 2019, in addition to a number of strategic sourcing projects completed during 2020. It is our belief that the continued momentum of the efforts undertaken in 2020 and into 2021, along with the development and launch of new and innovative products, will over time result in improved sales and bottom-line performance for the Company. We launched our EnFocus&#8482; platform during the second quarter of 2020 and continued to receive positive feedback from the market. The EnFocus&#8482; powerline control platform offers two immediately available product lines: EnFocus&#8482; DM, which provides a dimmable lighting solution, and EnFocus&#8482; DCT, which provides both a dimmable and color tunable lighting solution. EnFocus&#8482; enables buildings to have dimmable, color tunable and circadian-ready lighting using existing wiring, without requiring any wireless communications, through a relatively simple upgrade with EnFocus&#8482; switches and replacement LED lamps, a more environmentally sustainable solution compared with replacing each lighting fixture.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, in response to the COVID-19 pandemic and an anticipated increase in sanitation and hygiene demand for buildings, facilities and homes, we started developing advanced UVCD products for both the consumer and the commercial and industrial markets in the first quarter of 2020. In late 2020, we announced the nUVo&#8482; portable disinfection devices for offices and homes. Sales of these products began during the fourth quarter of 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to 2019, the Company experienced significant sales declines, operating losses and increases in its inventory. Beginning in 2019, significant restructuring efforts were undertaken. The Company replaced the entire senior management team, significantly reduced non-critical expenses, minimized the amount of inventory the Company was purchasing, dramatically changed the composition of our board of directors (&#8220;Board of Directors&#8221;) and the executive team, and recruited new departmental leaders across the Company. The cost savings efforts undertaken included phased actions to reduce costs to minimize cash usage. Initial actions included the elimination of certain positions, restructuring of the sales organization and incentive plan, flattening of the senior management team, additional operational streamlining, management compensation reductions, and outsourcing of certain functions including certain elements of supply chain and marketing.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i92098238f40a442bb50936757d3626f1">On June 11, 2020, in accordance with previous stockholder approval, our Board of Directors effected a 1-for-5 (the &#8220;Split Ratio&#8221;) reverse stock split of the Company&#8217;s common stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNTU_74458553-a1cc-466f-b886-9ddfba0580af"><ix:nonFraction unitRef="usdPerShare" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNTU_7762a891-96c7-4781-af14-09f7bacecebe">0.0001</ix:nonFraction></ix:nonFraction> per share. The reverse stock split became effective immediately upon the filing of the Certificate of Amendment to the Company&#8217;s Certificate of Incorporation, as amended (the &#8220;Certificate of Incorporation&#8221;), with the Delaware Secretary of State (the &#8220;Effective Time&#8221;). At the Effective Time, every five shares of common stock issued and outstanding automatically combined into one validly issued, fully paid and non-assessable share of common stock. No fractional shares were issued as a result of the reverse stock split. The $<ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNjU_74458553-a1cc-466f-b886-9ddfba0580af"><ix:nonFraction unitRef="usdPerShare" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNjU_7762a891-96c7-4781-af14-09f7bacecebe">0.0001</ix:nonFraction></ix:nonFraction> par value per share of common stock and other terms of the common stock were not affected by the reverse stock split. The number of authorized shares of common stock under the Certificate of Incorporation remained unchanged at <ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNzg_6413abbc-6581-48f7-b400-f9da90f93a79">50,000,000</ix:nonFraction> shares. Proportional adjustments were made to the conversion and exercise prices of our outstanding warrants and stock options, and to the number of shares issued and issuable under our stock incentive plans in connection with the reverse stock split. The information presented in the financial statements for all prior periods have been retroactively adjusted to reflect the reverse stock split. Preferred shares outstanding were not affected by the reverse stock split and, as such, those shares have not been adjusted.</ix:continuation></span></div><div id="i0aac58884afd43c7af148e399624b8eb_142"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 2. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDY1_c853bd5a-267e-48bb-8b09-3475dd040537" continuedAt="if2a87d77c86342c1892a0a0becc835ac" escape="true">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</ix:nonNumeric></span></div><ix:continuation id="if2a87d77c86342c1892a0a0becc835ac" continuedAt="i4021c02206e54281a80a8d55e91ca170"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The significant accounting policies of our Company, which are summarized below, are consistent with U.S. GAAP and reflect practices appropriate to the business in which we operate.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:UseOfEstimates" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTYx_fef3b3b5-3931-4b4c-adbc-685165b2fd14" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods presented. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory excess and obsolescence reserve and warranty claims, the useful lives for property and equipment and stock-based compensation. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDgz_94b753a4-537d-4730-bdf3-c1e0102ae77b" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Consolidated Financial Statements include the accounts of the Company. All significant inter-company balances and transactions have been eliminated. Unless indicated otherwise, the information in the Notes to Consolidated Financial Statements relates to our operations.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTIw_1092c4c8-8bee-46ee-bdec-c484ee84d031" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#8217; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities and collected by us are accounted for on a net basis and are excluded from net sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A disaggregation of product net sales is presented in Note 12, &#8220;Product and Geographic Information.&#8221;</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTMw_0b7fbd41-d2a1-4cb4-ba51-22309077a9f3" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash and restricted cash</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, we had cash of $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-5" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzMwMzc_07124760-5946-4ed5-a2fc-eef5725d34d8">2.7</ix:nonFraction> million and at December&#160;31, 2020, we had cash and restricted cash of $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-5" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzMwNDQ_48a50bec-dafa-4876-aa55-33a1427db931">2.2</ix:nonFraction> million on deposit with financial institutions located in the United States. The December&#160;31, 2020 cash balance of $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-5" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NTc1ODY_48a50bec-dafa-4876-aa55-33a1427db931">2.2</ix:nonFraction> million of cash includes restricted cash of $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-5" name="us-gaap:RestrictedCashAndCashEquivalents" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NTc1OTA_bdcf9589-8d1a-4960-9f67-832c9b4cf082">0.3</ix:nonFraction> million which is presented within prepaid and other current assets and other assets in the accompanying Consolidated Balance Sheets. Please refer to Note 4, &#8220;Leases,&#8221; for additional information.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i4021c02206e54281a80a8d55e91ca170" continuedAt="i94235f41c39b44219396a5c067f09897"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:InventoryPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDc2_110b1ea3-abbf-461e-b9ab-4438ac5cc3f9" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We state inventories at the lower of standard cost (which approximates actual cost determined using the first-in-first-out method) or net realizable value. We establish provisions for excess and obsolete inventories after evaluation of historical sales, current economic trends, forecasted sales, product lifecycles, and current inventory levels. The assessment is both quantitative and qualitative. During 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components. This resulted in a net increase of our gross inventory levels of $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-5" name="efoi:IncreaseDecreaseInInventoryLevelsGross" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODkwMzM_7051da46-9eb0-4b80-9e5c-cf159fbc50c1">2.4</ix:nonFraction>&#160;million. We had an increase of excess inventory reserves of $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-5" name="efoi:IncreaseDecreaseInInventoryReserves" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODkwNzI_673ed88f-1549-42fb-8285-1241d0ee76dd">0.2</ix:nonFraction>&#160;million as compared to 2020. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The assessment for excess and obsolete inventories for 2020 not only included both quantitative and qualitative components, but a COVID-19 pandemic impact analysis as well. Throughout 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand which resulted in a net reduction of our gross inventory levels of $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-5" sign="-" name="efoi:IncreaseDecreaseInInventoryLevelsGross" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODkzMTE_abcef1bd-5e0f-4b81-a6f8-9680ee01af60">1.2</ix:nonFraction>&#160;million and excess inventory reserves of $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-5" name="efoi:IncreaseDecreaseInInventoryReserves" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODkzNDg_99b0cabd-7f7f-4a29-b9f5-281157e8f4e5">0.6</ix:nonFraction>&#160;million compared to 2019. Adjustments to our estimates, such as forecasted sales and expected product lifecycles, could harm our operating results and financial position. Please refer to Note 5, &#8220;Inventories,&#8221; for additional information.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDk2_b2bb0ac5-58f0-44a1-8bbc-427c532a7581" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts receivable</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#8217;s financial condition and the amounts due are stated at their estimated net realizable value. We utilize a third-party account receivables insurance program with a very high credit worthy insurance company where we have the large majority of the accounts receivable insured with a portion of self-retention. This third party also provides credit-worthiness ratings and metrics that significantly assist us in evaluating the credit worthiness of both existing and new customers. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated amount of account receivables that will not be collected. The allowance is based on an assessment of customer creditworthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our standard payment terms with customers are net <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="efoi:ContractWithCustomerPaymentTerms" format="ixt-sec:durday" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzYyMDc_41a574b9-88af-49be-9a49-7c42af5e55b2">30</ix:nonNumeric> days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases to major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:IncomeTaxPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTQy_4f9b6dbb-66f9-416a-8523-d8c8b59d8cc5" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income taxes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the process of preparing the Consolidated Financial Statements, we are required to estimate our income tax liability in each of the jurisdictions in which we do business. This process involves estimating our actual current tax expense together with assessing temporary differences resulting from differing treatment of items, such as deferred revenues, for tax and accounting purposes. These differences result in deferred tax assets and liabilities, which are included in our Consolidated Balance Sheets. We then assess the likelihood of the deferred tax assets being recovered from future taxable income and, to the extent we believe it is more likely than not that the deferred tax assets will not be recovered, or is unknown, we establish a valuation allowance. Significant management judgment is required in determining our provision for income taxes, deferred tax assets and liabilities, and any valuation allowance recorded against our deferred tax assets. At December&#160;31, 2021 and 2020, we have recorded a full valuation allowance against our net deferred tax assets due to uncertainties related to our ability to utilize our deferred tax assets, primarily consisting of certain net operating losses carried forward. The valuation allowance is based upon our estimates of taxable income by jurisdiction and the period over which our deferred tax assets will be recoverable. In considering the need for a valuation allowance, we assess all evidence, both positive and negative, available to determine whether all or some portion of the deferred tax assets will not be realized.&#160;Such evidence includes, but is not limited to, recent earnings history, projections of future income or loss, reversal patterns of existing taxable and deductible temporary differences, and tax planning strategies.&#160;We continue to evaluate the need for a valuation allowance on a quarterly basis.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">55</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i94235f41c39b44219396a5c067f09897" continuedAt="if3ba6aa8c71a4d13ab77fca0a96e430e"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDgw_b85dc7a4-5b76-4fcb-aeca-3ff3f85be29f" continuedAt="id7d7817b6c624cae9063e125d960d6e5" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Instruments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">December 2021 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed a private placement (the &#8220;December 2021 Private Placement&#8221;) with certain institutional investors for the sale of <ix:nonFraction unitRef="shares" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQxNDQ_baa4f697-7e58-415b-9451-470d43afe2f8">1,193,185</ix:nonFraction> shares of our common stock at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQxOTg_cea686d2-ce74-43d1-b27f-a8b20833789d">3.52</ix:nonFraction> per share. We also sold to the same institutional investors (i) pre-funded warrants (&#8220;Pre-Funded Warrants&#8221;) to purchase <ix:nonFraction unitRef="shares" contextRef="i799339feb3544dceb3651c859ca2431e_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQzMjM_7b626d6e-5bf4-4707-b467-6688e2093f1a">85,228</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i799339feb3544dceb3651c859ca2431e_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQzNzQ_2d71b3df-37fa-4978-b84a-ebd6432c4a97">0.0001</ix:nonFraction> per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of <ix:nonFraction unitRef="shares" contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTQ4NTI_b82f1fb9-3145-43d8-9ef9-8ff870abd8ab">1,278,413</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQ0NTk_6851d904-8bb0-4567-8bd7-72dd6b4304b9">3.52</ix:nonFraction> per share. We paid the placement agent commissions of $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-3" name="efoi:PaymentsForPlacementAgentCommissions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQ1MDY_8114b4f1-285e-4065-a08a-ec51daf12dd3">360</ix:nonFraction>&#160;thousand, plus $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-3" name="efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQ1MTU_a6b6a2af-3e88-4910-9ae7-0fcfd669728a">42</ix:nonFraction>&#160;thousand in expenses, in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-3" name="efoi:PaymentsForClearingFees" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODcwMTY_c574e493-7117-4102-931f-df42665d2ecf">97</ix:nonFraction>&#160;thousand related to the December 2021 Private Placement. Total offering costs of $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg1OTc_c21246fc-3f50-46ed-a540-61fd70e960ab">499</ix:nonFraction>&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021. Net proceeds to us from the December 2021 Private Placement were approximately $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODcwNjA_5b255d64-a49f-4a66-91f1-a48cb699a2f1">4.0</ix:nonFraction> million. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the <ix:nonFraction unitRef="shares" contextRef="iaf95a417971c4d3c9fcaf6869f7c9de2_D20211216-20211216" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYxODM_18691dda-0244-4a2d-bd81-6d5bcb370cce">85,228</ix:nonFraction> shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic earnings per share (&#8220;EPS&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzU1MTY_ef83c784-d95b-49cc-9e67-7ce23652cbf6">1,363,641</ix:nonFraction> shares remained outstanding, with a weighted average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg2OTE_e708ccf9-f71b-463a-9a49-138c70034f8e">3.30</ix:nonFraction> per share. <ix:nonFraction unitRef="shares" contextRef="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NDM_ea1cd8aa-2354-4873-9ea4-3f7e64b9d869">None</ix:nonFraction> of the December 2021 Warrants were exercised as of December&#160;31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $<ix:nonFraction unitRef="usd" contextRef="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231" decimals="-5" name="efoi:EstimatedProceedsFromIssuanceOfWarrants" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg2OTk_2cddc023-f88a-4616-b05f-d556d88a6255">4.5</ix:nonFraction>&#160;million in the aggregate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">June 2021 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2021, we completed a registered direct offering of <ix:nonFraction unitRef="shares" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3NjE_3a1ba930-9bc3-43bb-8bd5-21a834b125f8">990,100</ix:nonFraction> shares of our common stock to certain institutional investors, at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i4ac6002703434a738c92731a1f8c20a4_I20210630" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3NjU_621ba086-afd0-4f80-90ff-2d0b67e36a79">5.05</ix:nonFraction> per share (the &#8220;June 2021 Equity Offering&#8221;). We paid the placement agent commissions of $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-3" name="efoi:PaymentsForPlacementAgentCommissions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3Njk_8fffb541-a203-48d1-a5d5-af4c950be948">400</ix:nonFraction> thousand, plus $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-3" name="efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3NzY_506f28cb-c034-4745-9c2b-e2e28d68dd6e">51</ix:nonFraction> thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-3" name="efoi:PaymentsForClearingFees" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3ODQ_6024cff1-398e-4627-b02a-a43b407d9866">19</ix:nonFraction> thousand related to the June 2021 Equity Offering. Total offering costs of $<ix:nonFraction unitRef="usd" contextRef="i9eb363c6d5c64b9cab13bd8c2ac85bb5_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg1ODA_220bc068-eeb6-44d1-aad6-cc14590271d0">470</ix:nonFraction> thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM4MDY_cd15d5d4-e868-4efe-9155-05ecad1bd9e3">4.5</ix:nonFraction> million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">January 2020 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we completed a registered direct offering for the sale of <ix:nonFraction unitRef="shares" contextRef="i0bc7e1aeb5a14658bf73734e7e6794b3_D20200101-20200131" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYxOTA_774a9135-becf-48aa-9200-7cb766329a07">688,360</ix:nonFraction> shares of our common stock to certain institutional investors, at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzM5NjM_c8b17138-b864-41e9-85f5-6fe3911175d1">3.37</ix:nonFraction> per share. We also sold, to the same institutional investors, warrants to purchase up to <ix:nonFraction unitRef="shares" contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzk5Njg_96944119-2c05-4829-8a92-a769b36bd98e">688,360</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYxOTc_9eaff095-d32e-4a77-8896-286a7cc0fe44">3.37</ix:nonFraction> per share (the, &#8220;Investor Warrants&#8221;) in a concurrent private placement (together with the concurrent registered direct offering, the &#8220;January 2020 Equity Offering&#8221;) for a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i0bc7e1aeb5a14658bf73734e7e6794b3_D20200101-20200131" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwMDg5_aba8fbf7-7a0a-4c6c-b13f-5c557ee681d0">0.625</ix:nonFraction> per warrant. We paid the placement agent commissions of $<ix:nonFraction unitRef="usd" contextRef="ibd4491c4aa0242a08978313e98355d75_D20200101-20200131" decimals="-3" name="efoi:PaymentsForPlacementAgentCommissions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwMTQ4_bf653827-2b9b-4350-b84b-7d111b8e7599">193</ix:nonFraction>&#160;thousand plus $<ix:nonFraction unitRef="usd" contextRef="ibd4491c4aa0242a08978313e98355d75_D20200101-20200131" decimals="-3" name="efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwMTU2_dd474d02-5f1d-45c3-a16a-0294add4c847">50</ix:nonFraction>&#160;thousand in expenses in connection with the January 2020 Equity Offering and we also paid legal, accounting and other fees of $<ix:nonFraction unitRef="usd" contextRef="ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131" decimals="-3" name="efoi:PaymentsForClearingFees" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwMzEx_5134b443-4331-418d-b490-bd88e6462408">231</ix:nonFraction>&#160;thousand related to the January 2020 Equity Offering. Total offering costs of $<ix:nonFraction unitRef="usd" contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYzNjE_7b234724-3b9f-4c16-a858-8da0f684fd09"><ix:nonFraction unitRef="usd" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYzNjE_b9779607-0094-4801-92e0-024dd9bfbc9d">510</ix:nonFraction></ix:nonFraction>&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020. In addition, we issued warrants to the placement agent to purchase up to <ix:nonFraction unitRef="shares" contextRef="i51fd134972bb49a29fb470ad962be792_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwNTk4_de9561d7-bb91-484e-9d9a-fb8b4a5fdd07">48,185</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i51fd134972bb49a29fb470ad962be792_I20200131" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwNjQ4_8a3a665c-4c3d-42dd-a15a-81df7436eb58">4.99</ix:nonFraction> per share (together with the Investor Warrants, the &#8220;January 2020 Warrants&#8221;). Net proceeds to us from the January 2020 Equity Offering were approximately $<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwNzgw_87c1ae1e-c91f-4df2-9002-0403fbab0714">2.3</ix:nonFraction> million. In accordance with the terms of the Iliad Note (as defined below in Note 8, &#8220;Debt&#8221;), <ix:nonFraction unitRef="number" contextRef="ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131" decimals="INF" name="efoi:DebtInstrumentProceedsToBePaidToLenderPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwODY5_27b94b0e-7453-4fba-8828-2c454508208f">10</ix:nonFraction>% of the gross proceeds from the January 2020 Equity Offering ($<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-3" name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTMz_2b7cd007-41a8-4a09-ae2c-e38356233bf3">275</ix:nonFraction> thousand) were used to make payments on the Iliad Note, of which $<ix:nonFraction unitRef="usd" contextRef="i22379ce6d882415580b9a3b1a8bb4ca4_D20200101-20200131" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTky_e500e83b-5448-467a-99d5-5ef53d762875">226</ix:nonFraction> thousand went towards the outstanding principal amount and the balance to interest.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, January 2020 Warrants issued to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="i22825782b9084bab96299f33f2d30063_D20211001-20211231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzExMTA4_298e9941-1f77-4800-b51c-42f608ea5895">229,414</ix:nonFraction> shares remain outstanding with a weighted average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i8628db2e2b61425aaaf641132a92d948_I20211231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzExMjAw_9bd61e30-6215-40de-95ea-74aa11f5c2ce">3.67</ix:nonFraction> per share. During the twelve months ended December&#160;31, 2021, <ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzExMjY0_9f314766-7ef8-4a65-9d08-28ee5794f84e">237,892</ix:nonFraction> January 2020 Warrants were exercised resulting in total proceeds of $<ix:nonFraction unitRef="usd" contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromWarrantExercises" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM4NTc_b36444bc-b13a-43af-ae97-33d1de77e8c5">801</ix:nonFraction> thousand. The exercise of the remaining January 2020 Warrants outstanding could provide us with cash proceeds of up to $<ix:nonFraction unitRef="usd" contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231" decimals="-3" name="efoi:EstimatedProceedsFromIssuanceOfWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzExNDIy_d0da7db5-3f16-44e1-9731-42b4acb51a5f">841</ix:nonFraction> thousand in the aggregate. At December&#160;31, 2020, January 2020 Warrants issued to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzgxMTU_99f41283-bbc7-4bfc-b9c5-5bf0a86eaa43">467,306</ix:nonFraction> shares remained outstanding with a weighted average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i6d86f65a6e1049119ca2876d0ea6c6ad_I20201231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3MzE_f881fa14-6d7e-4b67-ae33-d3a2f98d6b4d">3.51</ix:nonFraction> per share. During the twelve months ended December&#160;31, 2020, <ix:nonFraction unitRef="shares" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3MjI_78d13cba-6707-4d27-80da-717e4ca197bc">269,240</ix:nonFraction> January 2020 Warrants were exercised resulting in total proceeds of $<ix:nonFraction unitRef="usd" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromWarrantExercises" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg1NzM_9b8fa5d9-bc02-42c3-b627-6a959530c91e">918</ix:nonFraction> thousand.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="if3ba6aa8c71a4d13ab77fca0a96e430e" continuedAt="i8775a7d108a740e38aadf94def44120f"><ix:continuation id="id7d7817b6c624cae9063e125d960d6e5"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to a potential cash settlement upon occurrence of a fundamental transaction within the January 2020 Equity Offering warrant agreement, the January 2020 Warrants were initially classified as liabilities, as opposed to equity, and were recorded at their fair values at each balance sheet date for the first three quarters of 2020. During December 2020, the warrant holders agreed to a modification of the terms of their January 2020 Warrants which removed the potential cash settlement option upon the occurrence of a fundamental transaction. As such, during the fourth quarter of 2020, the warrant liability was fair-valued through the modification date and then was reclassified into equity and the January 2020 Warrants are no longer subject to re-measurement at each balance sheet date. Please also refer to Note 10, &#8220;Stockholders&#8217; Equity&#8221;.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair value measurements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or would be paid to transfer a liability in an orderly transaction between market participants on the measurement date. The fair value of financial assets and liabilities are measured on a recurring or non-recurring basis. Financial assets and liabilities measured on a recurring basis are those that are adjusted to fair value each time a financial statement is prepared. Financial assets and liabilities measured on a non-recurring basis are those that are adjusted to fair value when a significant event occurs.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We utilize valuation techniques that maximize the use of available market information and generally accepted valuation methodologies. We assess the inputs used to measure fair value using a three-tier hierarchy. The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"></td><td style="width:8.509%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:89.291%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for identical assets or liabilities.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unobservable inputs for the asset or liability.</span></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A financial instrument&#8217;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.</span></div></ix:continuation><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDk0_2e7c8a7e-f39d-401d-9572-00bf154c5ef1" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A roll-forward of fair value measurements using significant unobservable inputs (Level 3) for the January 2020 Warrants issued in the January 2020 Equity Offering is as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"></td><td style="width:79.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.270%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Twelve months ended December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Balance January 1, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="iea9fe4df11ca499a8ed5718af6f1e6ee_I20191231" decimals="-3" name="us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzEtMS0xLTEtMA_63816a06-5ca1-4b41-8453-53a5bd96ff1b">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Issuance of warrants, January 2020</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231" decimals="-3" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzItMS0xLTEtMA_0c168bb1-c796-43da-850d-5c0352abfb03">1,636</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Settlements from exercise</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231" decimals="-3" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzMtMS0xLTEtMA_7353d3e0-af88-4d56-a009-e0ef4bf1aac5">1,317</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Loss from change in fair value of warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231" decimals="-3" name="us-gaap:FairValueAdjustmentOfWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzQtMS0xLTEtMA_d9454df1-c556-4778-91c8-3a52c51f1e21">1,086</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Reclassification to equity upon modification </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">(<ix:nonFraction unitRef="usd" contextRef="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231" decimals="-3" name="efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzUtMS0xLTEtMA_69577590-5a73-4c10-b8bd-7d87b4a9d75c">1,405</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Balance December 31, 2020</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"><ix:nonFraction unitRef="usd" contextRef="ie92b82ead9a141f68ef7e1ffd7d22e96_I20201231" decimals="-3" name="us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzYtMS0xLTEtMA_bc9a5980-b711-4285-8333-67b38f687e23">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i8775a7d108a740e38aadf94def44120f" continuedAt="i228af6f96b5344c096b47f982df2ec5d"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="efoi:LongLivedAssetsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTY1_1d9f9d5f-63bf-43d7-910e-d9d244b42b58" continuedAt="iff2d57f34e7243e2bbd124546577a136" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Long-lived assets&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and include expenditures for additions and major improvements. Expenditures for repairs and maintenance are charged to operations as incurred. We use the straight-line method of depreciation over the estimated useful lives of the related assets (generally <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDA5_a382e080-4adf-47d2-b9ae-c9ef896c4927">two</span> to <ix:nonNumeric contextRef="i131e048a20ad40778e3bce72ff3d1b56_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDE1_82feec15-e273-4c02-a33c-e06a449b5938">15</ix:nonNumeric> years) for financial reporting purposes. Accelerated methods of depreciation are used for federal income tax purposes. When assets are sold or otherwise disposed of, the cost and accumulated depreciation are removed from the accounts and any gain or loss is reflected in the Consolidated Statements of Operations. Refer to Note 6, &#8220;Property and Equipment,&#8221; for additional information.</span></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="iff2d57f34e7243e2bbd124546577a136">Long-lived assets are reviewed for impairment whenever events or circumstances indicate the carrying amount may not be recoverable. Events or circumstances that would result in an impairment review primarily include operations reporting losses, a significant change in the use of an asset, or the planned disposal or sale of the asset. The asset would be considered impaired when the future net undiscounted cash flows generated by the asset are less than its carrying value. An impairment loss would be recognized based on the amount by which the carrying value of the asset exceeds its fair value, as determined by quoted market prices (if available) or the present value of expected future cash flows.</ix:continuation> Refer to Note 6, &#8220;Property and Equipment,&#8221; for additional information.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ConcentrationRiskCreditRisk" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTM5_e701d474-6ef6-4185-b690-aabec1b2fba2" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Certain risks and concentrations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically our products were sold through a direct sales model, which included a combination of direct sales employees, electrical and lighting contractors, and distributors. We utilize a third-party accounts receivable insurance and credit assessment company. Although we maintain allowances for potential credit losses that we believe to be adequate, a payment default on a significant sale could materially and adversely affect our operating results and financial condition, although we have mitigated this risk somewhat through the accounts receivable insurance program.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable, as follows:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">In 2021, two customers accounted for <ix:nonFraction unitRef="number" contextRef="i0407c3454dac466ca692bb5dc373440a_D20210101-20211231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyMzQ_2d4b5b85-829a-48de-a88d-bc7261bfffae">43</ix:nonFraction>% of net sales, with sales to our primary distributor for the U.S. Navy accounting for approximately <ix:nonFraction unitRef="number" contextRef="ia1f1d99e13ce4b0697ca14182754b38e_D20210101-20211231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyMzk_dc481378-a44e-4247-b18a-9f23e2ebe786">30</ix:nonFraction>% and sales to a regional commercial lighting retrofit company accounting for approximately <ix:nonFraction unitRef="number" contextRef="i430f40cd8f324015a412199f2462e875_D20210101-20211231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyNDQ_77da9c0b-03e2-42e9-b79d-135c2e49b29a">13</ix:nonFraction>% of net sales. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately <ix:nonFraction unitRef="number" contextRef="i059b76e018c940078a5686b2fb857398_D20210101-20211231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyNDk_66bb2728-afc9-4568-a2c4-34786b230bf3">38</ix:nonFraction>% of net sales for the same period. In 2020, two customers accounted for <ix:nonFraction unitRef="number" contextRef="i7f0fe993784145da9226d0e3ffd78d90_D20200101-20201231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQxOTY_f2c7b3fa-a7d9-476d-a87c-9b6696db0c1f">62</ix:nonFraction>% of net sales and total net sales of products to the U.S. Navy represented <ix:nonFraction unitRef="number" contextRef="i750376cb794d4c869109479015bc1a33_D20200101-20201231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyMDA_c9f86b12-a570-48d5-bca8-6dace5fef122">53</ix:nonFraction>% of net sales.</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">At December&#160;31, 2021, a distributor to the U.S. Department of Defense accounted for <ix:nonFraction unitRef="number" contextRef="iabe6066483d745a2bd8e4f16c03bf3b7_D20210101-20211231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc1MDEwMDA_80efc735-0b85-441f-a442-09611458fd45">20</ix:nonFraction>% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for <ix:nonFraction unitRef="number" contextRef="ia5de75883c284563a1fe3cb2a32a6e23_D20210101-20211231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQzNTA_f0843ac9-b89b-4b3d-902b-184be20fa359">36</ix:nonFraction>% of our net trade accounts receivable. At December&#160;31, 2020, a distributor to the U.S. Navy accounted for <ix:nonFraction unitRef="number" contextRef="id9434a3a42e644eca2f69a6961ae8ca6_D20200101-20201231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyNzM_6bfcf05f-c8ce-4eee-ba14-2762caa7f0ed">28</ix:nonFraction>% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for <ix:nonFraction unitRef="number" contextRef="i8b096b5651cb4df5b30716792f78998e_D20200101-20201231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyNzg_ebb850aa-3787-4097-be5a-7032cac51004">21</ix:nonFraction>% of our net trade accounts receivable.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We require substantial amounts of purchased materials from selected vendors. With specific materials, all of our purchases are from a single vendor. The availability and costs of materials may be subject to change due to, among other things, new laws or regulations, suppliers&#8217; allocation to other purchasers, interruptions in production by suppliers, global health issues such as the COVID-19 pandemic, and changes in exchange rates and worldwide price and demand levels. Our inability to obtain adequate supplies of materials for our products at favorable prices could have a material adverse effect on our business, financial position, or results of operations by decreasing our profit margins and by hindering our ability to deliver products to our customers on a timely basis. Additionally, certain vendors require advance deposits prior to the fulfillment of orders. Deposits paid on unfulfilled orders totaled $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-5" name="us-gaap:Supplies" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE5MTM3_c0cf7004-ae22-4a58-9881-16260abe28e6">0.7</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-5" name="us-gaap:Supplies" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE5MTQ0_84efcb22-918e-42b8-9afe-d0b494febf1a">0.8</ix:nonFraction> million at December&#160;31, 2021 and 2020, respectively.</span></div></ix:nonNumeric><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain vendors who individually represented 10% or more of our total expenditures, or whose net trade accounts payable balance individually represented 10% or more of our total net trade accounts payable, as follows:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">One offshore supplier accounted for approximately <ix:nonFraction unitRef="number" contextRef="ie788230b50704df49443496aa5725919_D20210101-20211231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODc3OTY_3a10bb47-21b7-47fe-a40a-eb3a21f84dba">29</ix:nonFraction>% of our total expenditures for the twelve months ended December&#160;31, 2021. At December&#160;31, 2021, this same offshore supplier accounted for approximately <ix:nonFraction unitRef="number" contextRef="i4f13a84e600a41808ea8c940ed89de00_D20210101-20211231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODcwNzM_69a1772a-6c66-4999-9f02-28a6bee9c5b5">60</ix:nonFraction>% of our trade accounts payable balance.</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">One offshore supplier and one domestic supplier accounted for approximately <ix:nonFraction unitRef="number" contextRef="i9c856b90ccdc4e89ad30b2395e7e5e37_D20200101-20201231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQ5MTk_cc26a7f6-67dd-49bf-b4e6-d7792170cf34">21</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i13186d1aaba445bab2d696ef4e0223a1_D20200101-20201231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQ5Mjc_5ef0803a-7161-4f90-ada0-daed436604d9">12</ix:nonFraction>%, respectively, of our total expenditures for the twelve months ended December&#160;31, 2020. At December&#160;31, 2020, this same offshore supplier accounted for approximately <ix:nonFraction unitRef="number" contextRef="ifb7a33f31fd04106b33a21451801ada5_D20200101-20201231" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzUwNjk_29c57082-3b8c-40d6-801d-9ecea984139f">44</ix:nonFraction>% of our trade accounts payable balance.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i228af6f96b5344c096b47f982df2ec5d" continuedAt="iad8bef1a1efb497c88017db73588e9b4"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTU5_8a9fef34-2fa8-40f6-95ad-c4c1358939f3" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product development</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product development expenses include salaries, contractor and consulting fees, supplies and materials, as well as costs related to other overhead items such as depreciation and facilities costs. Research and development costs are expensed as they are incurred.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:EarningsPerSharePolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTM1_d8ee5eec-3cb6-40af-8462-113ac387447c" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net loss per share</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDc1_c41ecc0b-b998-44b7-8106-9077443545f1" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a reconciliation of basic and diluted loss per share computations (in thousands, except per share amounts):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:68.929%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.522%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss </span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzMtMS0xLTEtMA_6afe4aaf-8049-4cce-a2f0-10b143ce7548">7,886</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzMtMy0xLTEtMA_23c3346c-1830-46b3-b801-b9c3289fbabb">5,981</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic and diluted weighted average common shares outstanding*</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzYtMS0xLTEtMA_2511b854-fa2e-44e8-bbec-f87be5f78eab"><ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzYtMS0xLTEtMA_8c2a6f27-c2d9-4b38-ab87-fcd542767903">4,561</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzYtMy0xLTEtMA_a76698a8-e585-4478-a1bc-60d543b58752"><ix:nonFraction unitRef="shares" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzYtMy0xLTEtMA_f0795155-4ce1-45ff-b32a-0c4156cd5ffc">3,270</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="12" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*Shares outstanding for prior periods have been restated for the 1-for-5 stock split effective June 11, 2020.</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the net loss we incurred for the year ended December&#160;31, 2021, options, warrants and convertible preferred stock representing approximately <ix:nonFraction unitRef="shares" contextRef="i851a20cb6a754010b44d41cba9df3b6b_D20210101-20211231" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxMTEy_15a74d00-64a7-4197-976a-007e83d8bb51">51</ix:nonFraction>&#160;thousand, <ix:nonFraction unitRef="shares" contextRef="i3fbe33cd32d64414882b5052c8bd62be_D20210101-20211231" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxMTIw_97e1b2b9-1c92-49dc-b657-ac071b5bf110">47</ix:nonFraction>&#160;thousand and <ix:nonFraction unitRef="shares" contextRef="i319c417e94584500bb7d1a95d51fd093_D20210101-20211231" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxMTI3_678b4d0a-1523-4d2a-8225-85921820e475">260</ix:nonFraction>&#160;thousand shares of common stock, respectively, were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the approximately <ix:nonFraction unitRef="shares" contextRef="iaf95a417971c4d3c9fcaf6869f7c9de2_D20211216-20211216" decimals="-3" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYxMjI_dc95095a-036b-4e00-9dc4-73324c3e0540">85</ix:nonFraction>&#160;thousand shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic EPS.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the net loss we incurred for the year ended December&#160;31, 2020, options, restricted share units, warrants and convertible preferred stock representing approximately <ix:nonFraction unitRef="shares" contextRef="i00ac08bc45774af7ad03fee20400dd3a_D20200101-20201231" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxNDA3_ccc4ce6a-e605-4a4b-a75c-916a2283cfbb">69</ix:nonFraction> thousand, <ix:nonFraction unitRef="shares" contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxNDE0_e88dcd83-48d9-402f-8a0f-207960af217a">4</ix:nonFraction>&#160;thousand, <ix:nonFraction unitRef="shares" contextRef="i092a353c26434c8a888f1bd3a1182154_D20200101-20201231" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzUyNjA_9cad4a1e-8b34-4afd-8d95-bb052b0ae943">174</ix:nonFraction>&#160;thousand and <ix:nonFraction unitRef="shares" contextRef="ice32535f03564e3d869fac3c20a1c3df_D20200101-20201231" decimals="-3" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzUyNzA_65b75fdd-2f08-4778-a5c5-e0c51b507224">506</ix:nonFraction>&#160;thousand shares of common stock, respectively, were excluded from the basic EPS calculation as their inclusion would have been anti-dilutive.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTQz_72b1ee34-47be-4937-bf5e-01f7e7fd1259" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize compensation expense based on the estimated grant date fair value under the authoritative guidance. Management applies the Black-Scholes option pricing model to value stock options issued to employees and directors and applies judgment in estimating key assumptions that are important elements of the model in expense recognition. These elements include the expected life of the option, the expected stock-price volatility, and expected forfeiture rates. Compensation expense is generally amortized on a straight-line basis over the requisite service period, which is generally the vesting period. See Note 10, &#8220;Stockholders&#8217; Equity,&#8221; for additional information. Common stock, stock options, and warrants issued to non-employees that are not part of an equity offering are accounted for under the applicable guidance under Accounting Standards Codification (&#8220;ASC&#8221;) 505-50, &#8220;Equity-Based Payments to Non-Employees,&#8221; and are generally re-measured at each reporting date until the awards vest.</span></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:AdvertisingCostsPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTA5_8bada8a8-2de5-4f41-9819-b3a38058b631" continuedAt="i22b389d2db9f4c1390b992cd57703dd2" escape="true">Advertising expenses</ix:nonNumeric></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i22b389d2db9f4c1390b992cd57703dd2">Advertising expenses are charged to operations in the period incurred. They consist of costs for the placement of our advertisements in various media and the costs of demos provided to potential distributors of our products.</ix:continuation> Advertising expenses were $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-5" name="us-gaap:AdvertisingExpense" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIzMzkz_24cfa14d-8328-47c1-909e-6de598ca1a2b">0.4</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-5" name="us-gaap:AdvertisingExpense" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIzNDAw_236ef072-486f-493d-a8e6-f0c0554683ae">0.1</ix:nonFraction> million for the years ended December&#160;31, 2021 and 2020, respectively.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="iad8bef1a1efb497c88017db73588e9b4"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:StandardProductWarrantyPolicy" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTE4_d0cea0e0-1d39-4681-8fe0-a29e01948a6d" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product warranties</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We warrant our commercial and MMM LED products and controls for periods generally ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f2241f38-2999-4d07-a4c3-3f46b21079ae"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f99b5010-37ff-40ae-9fe5-83566fecd2e0">five</span></span> to <ix:nonNumeric contextRef="i700751e2c80249fdbe411f0a8747e874_D20210101-20211231" name="efoi:StandardProductWarrantyNumberofYears" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NzE_7e5166cc-73b7-4322-9e3c-0486f27595c2"><ix:nonNumeric contextRef="ib47a6ee10bab469bbc27f70f2ce480f9_D20210101-20211231" name="efoi:StandardProductWarrantyNumberofYears" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NzE_c147f6b5-5e0e-4e6e-8f7f-01fbfab95189">ten years</ix:nonNumeric></ix:nonNumeric> and from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1Mjk_fbbd22c1-2b2b-46a1-8c5e-8410f2bdbbb7">one</span> to <ix:nonNumeric contextRef="i800518c1883d4905a5552a07727bde63_D20210101-20211231" name="efoi:StandardProductWarrantyNumberofYears" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1NDI_484cbf15-bac9-4e28-b1bd-d0048c048fb4">five years</ix:nonNumeric> for UVCD products. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTI4_cec3a004-f437-4af6-8eb7-b7b543a9c5bf" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes warranty activity for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:68.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.562%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.564%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at the beginning of the year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzItMS0xLTEtMA_aa69b6bc-77a2-485b-8060-fd4749de4a63">227</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzItMy0xLTEtMA_271fc86d-eea3-41e5-a57d-7a699ab450ea">195</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accruals for warranties issued</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:StandardProductWarrantyAccrualWarrantiesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzMtMS0xLTEtMA_0f9fbb50-376e-4aa9-a6f4-b67ea78cf3e0">41</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualWarrantiesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzMtMy0xLTEtMA_30f522a2-ae28-4bd3-b755-77eb39e6a5d9">33</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to existing warranties</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzQtMS0xLTEtMA_1304be8a-1e7a-49c1-a161-7ab6c600d835">47</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzQtMy0xLTEtMA_b947596c-b1ad-42c8-ae15-52c5f5d1b5a5">19</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Settlements made during the year (in kind)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:StandardProductWarrantyAccrualPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzUtMS0xLTEtMA_ad08bbc1-fdff-43c9-b24d-b5f04bd05759">62</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzUtMy0xLTEtMA_6f59a82e-ce38-4e79-a362-d4d88cae153d">20</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accrued warranty reserve at the end of the period</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzYtMS0xLTEtMA_4018e476-987c-4427-8eea-a1d10ec0cff8">295</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:StandardProductWarrantyAccrualCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzYtMy0xLTEtMA_d5129b23-9d65-4787-97f7-6f88d2688eb0">227</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTEz_4d4affd7-4efc-4944-b4b6-9c7172e63325" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">In November 2021, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU No. 2021-10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%">Government Assistance (Topic 832)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"> (&#8220;ASU 2021-10&#8221;), in order to increase the transparency of government assistance by requiring the disclosure of: (i) types of assistance; (ii) an entity&#8217;s accounting for the assistance; and (iii) the effect of the assistance on an entity&#8217;s financial statements. ASU 2021-10 is effective for all entities (including smaller reporting companies) for financial statements issued for annual periods beginning after December 15, 2021, with early adoption permitted. The amendments in ASU 2021-10 should be applied either prospectively to all transactions within scope reflected in the financial statements after the effective date, or retrospectively to those same transactions. The Company has early adopted the new standard effective as of December 31, 2021. Refer to Note 13 &#8220;Other Income,&#8221; for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2020, the FASB issued ASU No. 2020-06, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity&#8217;s Own Equity (Subtopic 815-40)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;ASU 2020-06&#8221;), to simplify accounting for certain financial instruments with characteristics of liabilities or equity. ASU 2020-06 is effective for smaller reporting companies for fiscal years beginning after December 15, 2023 and interim periods therein. Early adoption is permitted beginning January 1, 2021. The new guidance: (i) eliminates the current models that require separation of beneficial conversion and cash conversion features from convertible instruments; (ii) simplifies the derivative scope exception guidance pertaining to equity classification of contracts in an entity&#8217;s own equity; (iii) introduces additional disclosures for convertible debt and freestanding instruments that are indexed to and settled in an entity&#8217;s own equity; and (iv) amends the diluted earnings per share guidance, including the requirement to use the if-converted method for all convertible instruments. The Company early adopted the new standard effective January 1, 2021. The adoption of ASU 2020-06 did not have an impact on the Company&#8217;s financial position or results of operations upon adoption.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently issued accounting pronouncements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU No. 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. This standard will be effective for interim and annual periods starting after December 15, 2022 and will generally require adoption on a modified retrospective basis. We are in the process of evaluating the impact of the standard.</span></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_145"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 3.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEyMTE3_87bb830a-aff2-497b-b350-8230503f09c2" continuedAt="i9714f42edbea4bd2968a348aa6dd5632" escape="true">RESTRUCTURING</ix:nonNumeric></span></div><ix:continuation id="i9714f42edbea4bd2968a348aa6dd5632" continuedAt="ifa73f2aeb99a4ad79653db6a95ddd549"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to our financial performance in 2021 and 2020, including net losses of $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-5" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTM4MTU_1d29e3eb-826b-4354-b2a2-f3957bd1d9a8">7.9</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-5" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTM4MTE_5fd1c5d7-a431-443d-8914-52e36ec607ca">6.0</ix:nonFraction> million, respectively, and total cash used in operating activities of $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-5" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTM4MjY_ac6521f6-45c8-4e2e-bcc1-8fafbe6161f1">9.8</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-5" sign="-" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTM4MjI_12de465a-a96f-44cd-96ae-39f56c155ee5">2.5</ix:nonFraction> million, respectively, we determined that substantial doubt about our ability to continue as a going concern continues to exist at December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to 2019, the Company experienced significant sales declines, operating losses and increases in its inventory. Beginning in 2019, significant restructuring efforts were undertaken. The Company replaced the entire senior management team, significantly reduced non-critical expenses, minimized the amount of inventory the Company was purchasing, dramatically changed the composition of our Board of Directors and the executive team, and recruited new departmental leaders across the Company. The cost savings efforts undertaken included phased actions to reduce costs to minimize cash usage. Initial actions included the elimination of certain positions, restructuring of the sales organization and incentive plan, flattening of the senior management team, additional operational streamlining, management compensation reductions, and outsourcing of certain functions including certain elements of supply chain and marketing.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the twelve months ended December&#160;31, 2021 and 2020, we recorded net restructuring credits of approximately $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:RestructuringCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzI3MzQ_cdea1dfb-5c21-40ea-863d-a79cf93bb625">21</ix:nonFraction> thousand and $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:RestructuringCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NzY0NzU_b23c138a-1652-450b-98a7-1a1c568c4cc0">60</ix:nonFraction> thousand, respectively, related to the costs and offsetting sub-lease income and accretion expense for the remaining lease obligation for our former New York, New York office. The lease obligation on our former New York, New York office was settled as of June 30, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our restructuring liabilities consisted of estimated ongoing costs related to long-term operating lease obligations, which the Company exited. The recorded value of the ongoing lease obligations was based on the remaining lease term and payment amount, discounted to present value. Changes in subsequent periods resulting from a revision to either the timing or the amount of estimated cash flows over the future period were measured using the credit adjusted, risk free rate that was used to measure the restructuring liabilities initially.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEyMTIy_fa1bba8b-9e46-460e-8683-eab5b301e49c" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the beginning and ending balances of our restructuring liability as it relates to the Company&#8217;s restructuring plans (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:83.256%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.544%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restructuring Liability</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2019</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1f183382bd22428686ea1fa5147a3e6f_I20191231" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzE1LTEtMS0xLTA_adfe76cd-423d-4582-ba3f-0758f5e0c06c">38</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accretion of lease obligations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie6d79369f8f64d7cba3d0cf5de8cfef7_D20200101-20201231" decimals="-3" name="efoi:RestructuringReserveAccretion" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzE2LTEtMS0xLTA_296218f2-079e-45b0-b987-36eb72cc53f3">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ie6d79369f8f64d7cba3d0cf5de8cfef7_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsForRestructuring" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzE3LTEtMS0xLTA_2cb676c1-6abd-4ea4-8b12-8defeab6de86">29</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2020</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzE4LTEtMS0xLTA_221d7b00-16d6-46a5-82bb-c38e811fc34e">11</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i747d342d210044ef81641e7032d98e51_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsForRestructuring" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzIwLTEtMS0xLTMxOTU_778159c9-418d-4547-b02c-992ccbc9eb26">11</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzIxLTEtMS0xLTMxOTU_15f2f769-73a5-4f33-a398-044f546377b3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the ending balance of our restructuring liability at December&#160;31, 2021 and December&#160;31, 2020 (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.028%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.543%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.545%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzItMS0xLTEtMA_b2c52a1d-55e4-4e5b-9309-70010ecd8fdf">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzItMy0xLTEtMA_32119a48-bae8-42e3-9ece-47c89646dca2">11</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less, short-term restructuring liability</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231" decimals="-3" name="us-gaap:RestructuringReserveCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzMtMS0xLTEtMA_fed67bdb-8c54-446d-b829-9cfb87c746c6">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231" decimals="-3" name="us-gaap:RestructuringReserveCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzMtMy0xLTEtMA_3c92430c-7b70-42da-bc1a-620727f92070">11</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term restructuring liability, included in other liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231" decimals="-3" name="us-gaap:RestructuringReserveNoncurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzQtMS0xLTEtMA_d6c48ab4-997a-4d09-b08b-7688c4297efd">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231" decimals="-3" name="us-gaap:RestructuringReserveNoncurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzQtMy0xLTEtMA_7a325a8d-e32b-4421-bb23-bf7d90ec038e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the restructuring actions and initiatives described above, we have tailored our operating expenses to be more in line with our expected sales volumes, however, we continue to incur losses and have a substantial accumulated deficit, and substantial doubt about our ability to continue as a going concern continues to exist at December&#160;31, 2021.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="ifa73f2aeb99a4ad79653db6a95ddd549" continuedAt="icbf70eadd1d940ba8ed1260417bddf3f"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Throughout 2020 and 2021, we have continued to evaluate and assess strategic options as we seek to achieve profitability. We plan to continue to develop advanced lighting and lighting control technologies and introduce impactful new products surrounding EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, a patented, breakthrough powerline control platform we officially launched during the second quarter of 2020. We announced the following UVCD products beginning in the fourth quarter of 2020: nUVo&#8482; Tower portable air disinfection device for offices and homes and nUVo&#8482; Traveler portable personal air disinfection device for in-vehicle and smaller spaces. Initial sales of nUVo&#8482; devices began in the fourth quarter of 2021, and we anticipate the development of additional products in 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We plan to achieve profitability by growing our sales through existing lighting, new lighting control systems and UVCD products, and by continuing to refine and execute on our multi-channel sales strategy that targets key verticals, such as government, healthcare, education, and commercial and industrial, complemented by our marketing outreach campaigns and expanding channel partnerships, as well as our emerging consumer market focus.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As described in Note 10, &#8220;Stockholders&#8217; Equity,&#8221; we raised approximately $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NjQ5NTU_5b255d64-a49f-4a66-91f1-a48cb699a2f1">4.0</ix:nonFraction> million of net proceeds upon the issuance of common stock and December 2021 Warrants in connection with the December 2021 Private Placement, approximately $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NjQ5NTA_cd15d5d4-e868-4efe-9155-05ecad1bd9e3">4.5</ix:nonFraction> million of net proceeds upon the issuance of common stock in connection with the June 2021 Equity Offering, and approximately $<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTkzNDg_87c1ae1e-c91f-4df2-9002-0403fbab0714">2.3</ix:nonFraction> million of net proceeds upon the issuance of common stock and January 2020 Warrants. As described in Note 8, &#8220;Debt&#8221;, in April 2021, we obtained approximately $<ix:nonFraction unitRef="usd" contextRef="if144a899302d4dcc9da1823f257a72cf_D20210401-20210430" decimals="-5" name="us-gaap:ProceedsFromIssuanceOfDebt" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NDU5MjY_bca14f1d-3515-4db6-b1b8-9d5ecafbb510">1.5</ix:nonFraction> million of bridge financing, net and in August 2020, we entered into <ix:nonFraction unitRef="creditfacility" contextRef="i196a60521c374b1ea5e71538354bd9d1_I20200830" decimals="INF" name="efoi:DebtInstrumentNumberOfCreditFacilities" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzI3NDg3NzkxMjM1Nzk_da9b85ac-617b-4f30-9782-f611d368975a">two</ix:nonFraction> new revolving credit facilities, which allow for expanded borrowing capacity, which capacity was further increased by an April 20, 2021 amendment to one of the facilities.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The restructuring and cost cutting initiatives implemented during 2020 and continuing into 2021, as well as the December 2021 Private Placement, the June 2021 Equity Offering and the January 2020 Equity Offering that significantly strengthened our balance sheet, the Paycheck Protection Program (&#8220;PPP&#8221;) loan we obtained in April 2020, our enhanced debt capacity due to the debt refinancing in August 2020, the credit facility capacity increase and bridge financing in April 2021, and the funds we received, and expect to receive, related to the Employee Retention Tax Credit (&#8220;ERTC&#8221;), see Note 13, &#8220;Other Income&#8221; for details), were all designed to allow us to effectively execute these strategies. However, our efforts may not occur as quickly as we envision or be successful due to the long sales cycle in our industry, the corresponding time required to ramp up sales from new products, markets, and customers into this sales cycle, the timing of introductions of additional new products, significant competition, potential sales volatility given our customer concentration, numerous interruptions and cost increases in the supply chain globally, and the ongoing and lingering economic impact from the COVID-19 pandemic that has significantly diminished the interest and activities for our customers&#8217; lighting retrofit projects until occupancy returns to more normal levels, among other factors.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, global supply chain and logistics constraints are impacting our inventory purchasing strategy, leading to a buildup of inventory and components in an effort to manage both shortages of available components and longer lead times in obtaining components. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. As a result, we will continue to review and pursue selected external funding sources to ensure adequate financial resources to execute across the timelines required to achieve these objectives including, but not limited to, the following:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining financing from traditional or non-traditional investment capital organizations or individuals; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining funding from the sale of our common stock or other equity or debt instruments; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining debt financing with lending terms that more closely match our business model and capital needs.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional funding contains risks, including:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">additional equity financing may not be available to us on satisfactory terms, and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">loans or other debt instruments may have terms or conditions, such as interest rate, restrictive covenants, conversion features, refinancing demands, and control or revocation provisions, which are not acceptable to management or our Board of Directors; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the current environment in the capital markets combined with our capital constraints may prevent us from being able to obtain adequate debt financing.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="icbf70eadd1d940ba8ed1260417bddf3f"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, if we are unable to find a permanent Chief Executive Officer, it may be more difficult to obtain additional financing on satisfactory terms or at all. If we fail to obtain the required additional financing to sustain our business before we are able to produce levels of revenue to meet our financial needs, we will need to delay, scale back or eliminate our growth plans and further reduce our operating costs and headcount, each of which would have a material adverse effect on our business, future prospects, and financial condition. A lack of additional funding could also result in our inability to continue as a going concern and force us to sell certain assets or discontinue or curtail our operations and, as a result, investors in the Company could lose their entire investment.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Considering both quantitative and qualitative information, we continue to believe that the combination of our plans to ensure adequate external funding, timely re-organizational actions, current financial position, liquid resources, obligations due or anticipated within the next year, development and implementation of an excess inventory reduction plan, plans and initiatives in our research and development, product development and sales and marketing, and development of potential channel partnerships, if adequately executed, will provide us with an ability to finance our operations through the next twelve months and will mitigate the substantial doubt about our ability to continue as a going concern.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On August 17, 2020, we received a letter from the Listing Qualifications staff (the &#8220;Staff&#8221;) of The Nasdaq Stock Market (&#8220;Nasdaq&#8221;) notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#8217; equity of at least $2,500,000 if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#8220;Minimum Stockholders&#8217; Equity Rule&#8221;). Our Quarterly Report on Form 10-Q for the quarterly period ended June 30, 2020, filed on August 13, 2020, reflected that our stockholders&#8217; equity as of June 30, 2020 was $<ix:nonFraction unitRef="usd" contextRef="ie36d68bd24994a9e9a48cb302763ddf6_I20200630" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzI3NDg3NzkxMjM1ODM_2a5691d9-bfb4-4ff0-97b9-3266581d4396">1,714,000</ix:nonFraction>. Based on our timely submission of our plan to regain compliance, Nasdaq granted us an extension through February 15, 2021 to regain compliance with the Minimum Stockholders&#8217; Equity Rule. In accordance with one part of the plan submitted to the Staff, we successfully modified our outstanding January 2020 Warrants and in December 2020, we reclassified $<ix:nonFraction unitRef="usd" contextRef="i934acbda7dce4fddb89c86f36d649885_D20201201-20201201" decimals="-5" name="efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzc2OTY1ODE0NDg1ODc_582fd446-5ec7-4a81-92e5-bb096f978049">1.4</ix:nonFraction>&#160;million from warrant liability into equity. On January 20, 2021, we received a letter from the Staff notifying us that, on a conditional basis, Nasdaq has determined that we have regained compliance with the Minimum Stockholders&#8217; Equity Rule. At December 31, 2020, our stockholders&#8217; equity was $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NTMyNDM_a44a7407-a8d0-40c3-b607-81755ca945e6">4,255,000</ix:nonFraction>, satisfying the Minimum Stockholders&#8217; Equity Rule. At December&#160;31, 2021, our stockholders&#8217; equity was $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NTMyNTQ_e9a7aefe-d710-4583-a603-a0cc54ed38fd">6,209,000</ix:nonFraction>.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On December 21, 2021, we received a letter from the Staff notifying the Company that, as a result of the resignation of a director, as previously disclosed, from the Board of Directors and the Audit and Finance Committee, we are not in compliance with Nasdaq Listing Rule 5605, which requires that our Audit and Finance Committee be comprised of at least three directors, all of whom are independent pursuant to the rules of Nasdaq and applicable law. The notification letter had no immediate effect on the Company&#8217;s listing on the Nasdaq Capital Market. The letter further provided that, pursuant to Nasdaq Listing Rule 5605(c)(4), we are entitled to a cure period to regain compliance with Nasdaq Listing Rule 5605, which cure period will expire on the earlier of the date of our next annual shareholders&#8217; meeting and November 11, 2022, or, if the next annual shareholders&#8217; meeting is held before May 10, 2022, then the cure period will expire on May 10, 2022. The Board of Directors has commenced a search for a new independent director, who would be expected to serve on our Audit and Finance Committee, or the Board of Directors will otherwise appoint a current independent director to fill the vacancy on the committee.</span></div></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_148"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 4. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:LesseeFinanceLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDI_f2413dfa-a2a3-40a3-a357-b86154b862e8" continuedAt="i72d3b5a1148042ed88e85b7fbcc3bcea" escape="true"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:LesseeOperatingLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDM_33e04495-ee6b-4517-a6ef-a280267e667a" continuedAt="id27c28901fc94e54a2096376521b9fa2" escape="true">LEASES</ix:nonNumeric></ix:nonNumeric></span></div><div style="margin-bottom:10pt"><ix:continuation id="i72d3b5a1148042ed88e85b7fbcc3bcea" continuedAt="iddff9542721e49119689378dbbb64b53"><ix:continuation id="id27c28901fc94e54a2096376521b9fa2" continuedAt="i5b4302e34948452b81e1e1b33f3437f3"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases expiring through 2026 under which it is responsible for related maintenance, taxes and insurance. The Company has one finance lease containing a bargain purchase option upon expiration in 2022. The lease term consists of the non-cancellable period of the lease, periods covered by options to extend the lease if the Company is reasonably certain to exercise the option, and periods covered by an option to terminate the lease if the Company is reasonably certain not to exercise the option. As of January 21, 2021, the terms of one of these equipment operating leases has been extended through 2026. In accordance with ASC 842, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 842&#8221;), the related right-of-use asset and lease liability was updated at the time of modification in January 2021. The present value of the lease obligation for this lease was calculated using an incremental borrowing rate of <ix:nonFraction unitRef="number" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="4" name="efoi:LesseeOperatingLeaseInterestRateEffectiveRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEwOTk1MTE2MzM0NDU_ad6e3494-ffb2-43a8-8d5f-6e3e3f03cc37">15.93</ix:nonFraction>%, which was the Company&#8217;s blended borrowing rate (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 8, &#8220;Debt&#8221;) and Factors Southwest L.L.C (as described below in Note 8, &#8220;Debt&#8221;). The present value of the remaining lease obligation was calculated using an incremental borrowing rate (&#8220;IBR&#8221;) of <ix:nonFraction unitRef="number" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="4" name="us-gaap:LesseeOperatingLeaseDiscountRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEwMTg_5b7ac3a4-bb79-4d12-9bcd-c1a1ec937d20">7.25</ix:nonFraction>% (which excludes the annual facility fee and other lender fees), which was the Company&#8217;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#8220;Austin Facility&#8221;). The weighted average remaining lease term for operating and finance leases is <ix:nonNumeric contextRef="i9f73e56b185c477d9990315664de9839_I20211231" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEyMDE_09106581-fc43-4e41-b8f7-27b304687972">0.8</ix:nonNumeric> years and <ix:nonNumeric contextRef="i9f73e56b185c477d9990315664de9839_I20211231" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEyMjU_c679dc5f-e409-4825-966c-f5ca80c360bb">0.3</ix:nonNumeric> years, respectively.</span></ix:continuation></ix:continuation></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="iddff9542721e49119689378dbbb64b53" continuedAt="idf8c2800d75e463283505b46bbfe9c47"><ix:continuation id="i5b4302e34948452b81e1e1b33f3437f3" continuedAt="i2c5129106fa64c59b3afd10f7e795521"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had one restructured lease with a sub-lease component for the New York, New York office that was closed in 2017. The lease expired in June 2021. As part of the lease agreement, there was $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-5" name="us-gaap:RestrictedCashAndCashEquivalents" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEwOTk1MTE2MzU1OTE_3185338f-1d38-4f7a-a5f9-cd8001009223">0.3</ix:nonFraction>&#160;million in restricted cash in prepaid and other current assets on the accompanying Consolidated Balance Sheets as of December&#160;31, 2020 which represented collateral against the related Letter of Credit issued as part of this agreement. Per the terms of the lease agreement, the restrictions on the cash were lifted in September 2021 and the cash was returned to the Company.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The restructured lease and sub-lease were deemed to be in-scope and thus subject to the requirements of Topic 842 and were evaluated for impairment in accordance with the asset impairment provisions of ASC 360, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Property, Plant and Equipment</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 360&#8221;). The Company concluded its net right-of-use assets were not impaired and the carrying amount approximates expected sublease income in future years as of December&#160;31, 2021 and 2020.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:LeaseCostTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDQ_de6255d8-2e7d-47f5-a412-e7dab82e7ee2" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of the operating, restructured and finance lease costs recognized in net loss were as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.765%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating lease cost (income)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:SubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzMtMS0xLTEtMA_d191a6af-271c-43ca-b65a-afa479dbff1e">112</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:SubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzMtMy0xLTEtMA_dab27245-aa1b-4999-a2dc-b3c9ccd5fd57">105</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzQtMS0xLTEtMA_e4070ce2-f0cc-42d3-a9a5-3212d29453df">558</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzQtMy0xLTEtMA_1387b53b-9f39-4b10-a37f-8ac0fe4c1c74">597</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost, net</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:OperatingLeaseCostNetOfSubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzUtMS0xLTEtMA_e10c4366-40fa-4cba-b9ad-aef8bd0d60bc">446</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:OperatingLeaseCostNetOfSubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzUtMy0xLTEtMA_f6698ba6-1932-40f0-9ee4-4a4736de2e11">492</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restructured lease cost (income)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:RestructuredLeaseSubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzgtMS0xLTEtMA_77a13053-d04d-4677-ab8d-fa6b3015cc65">136</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:RestructuredLeaseSubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzgtMy0xLTEtMA_040122ce-9508-48e4-b856-cb4acaeafc2c">272</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:RestructuredLeaseOperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzktMS0xLTEtMA_42d65291-89cc-42d0-868a-8982c3622f6a">110</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:RestructuredLeaseOperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzktMy0xLTEtMA_9f8ffbb9-5f22-44c6-8793-173ab3f3f2af">237</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease income, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="efoi:RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzEwLTEtMS0xLTA_844b10a4-9b90-4e80-a5e9-787fe8e9b1d3">26</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="efoi:RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzEwLTMtMS0xLTA_25b05b5d-c04a-4dc3-9c96-fddbab15bf7b">35</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease cost, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:LeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzE2LTEtMS0xLTA_0ebdbd78-a4d3-4180-a6f6-2e3d3c8dcc10">420</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:LeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzE2LTMtMS0xLTA_6db41172-5e42-4e36-b650-650592c71e7c">457</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQyOTg_f50fda0d-9f61-4bc6-8347-5963c6a61add" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental Consolidated Balance Sheet information related to the Company&#8217;s operating and finance leases are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.765%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzMtMS0xLTEtMA_58506504-c64f-4b88-a10b-1fdd71f3919b">292</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzMtMy0xLTEtMA_30c0dad7-305f-4684-a4ae-49bf34e3f537">794</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:RestructuredOperatingLeaseRightOfUseAsset" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzQtMS0xLTEtMA_af8e0a5f-a856-4134-87c9-76cea3a32104">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:RestructuredOperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzQtMy0xLTEtMA_3cbb2f53-bacc-4feb-adb4-4d97e31cebcc">107</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets, total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:OperatingLeaseRightofUseAssetIncludingRestructuredLeases" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzUtMS0xLTEtMA_23701c73-9379-4fac-9f6a-321eb078e93f">292</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:OperatingLeaseRightofUseAssetIncludingRestructuredLeases" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzUtMy0xLTEtMA_9e73c1d1-df56-4f61-952f-50e35558f887">901</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr style="height:6pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzctMS0xLTEtMA_22ef58fc-f246-498d-866a-7de78d908d61">351</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzctMy0xLTEtMA_9128295a-2079-48ba-9118-561fa5b86e54">916</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:RestructuredOperatingLeaseLiability" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzgtMS0xLTEtMA_3cab07ec-97c6-40ca-bf0a-43d00857e941">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:RestructuredOperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzgtMy0xLTEtMA_22d5f586-2f60-4d1d-8d6c-483158418662">168</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:OperatingLeaseLiabilityIncludingRestructuredLeases" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzktMS0xLTEtMA_e729d7c4-f4d1-4dd8-b27a-b6a6574a23fb">351</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:OperatingLeaseLiabilityIncludingRestructuredLeases" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzktMy0xLTEtMA_c34f383e-aefa-4ae0-ba60-86817beb5f14">1,084</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr style="height:6pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:FinanceLeaseRightOfUseAssetGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzEyLTEtMS0xLTA_95faeb79-8e9b-4130-a6ad-18abf757f549">13</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:FinanceLeaseRightOfUseAssetGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzEyLTMtMS0xLTA_0cbe7b1f-e4cf-495d-95f0-072b49889888">13</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowances for depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzEzLTEtMS0xLTA_47d3970e-a899-4f03-badc-0a8e4ed53afd">12</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzEzLTMtMS0xLTA_57d8f340-114b-4934-a247-f7ce3533f6a2">9</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease assets, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE0LTEtMS0xLTA_1f5f6d5d-9ed2-43e2-b890-482fa5bdb24e">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE0LTMtMS0xLTA_dd98def1-2afe-4602-9811-8c4d11e72596">4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE2LTEtMS0xLTA_18237f2c-4d79-4520-bd9f-f2af75559c7a">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE2LTMtMS0xLTA_8b2d64ad-cd55-43b2-878c-e27acbc99073">4</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finance lease liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE3LTEtMS0xLTA_e18cdc21-2af7-4981-a8d1-1b321f19235a">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE3LTMtMS0xLTA_a22cf0de-8fb0-4e01-b924-321efae09bd3">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric></ix:continuation></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="idf8c2800d75e463283505b46bbfe9c47"><ix:continuation id="i2c5129106fa64c59b3afd10f7e795521"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQyOTk_a442fb37-223a-4f28-af87-ea51e61dd16a" escape="true"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDA_b5f7d68d-b0fa-4e85-ac1f-f7fba9f357da" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.350%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:17.176%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Lease</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzEtMS0xLTEtMA_66646633-61c3-4891-9ea2-55494ef23a9c">332</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzEtNC0xLTEtMA_8513212a-180d-4458-a433-2c54c14332ac">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzItMS0xLTEtMA_f1ddbc1e-ee11-4705-a5a7-cbe693533c3a">19</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzItNC0xLTEtMA_9652c9ca-9567-49dc-b9ff-46a94f9d9424">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzMtMS0xLTEtMA_2495e888-cf47-420a-97d9-6e3fc9480df8">4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearThree" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzMtNC0xLTEtMA_ea56c743-5eac-48bb-830d-e9584498d3b4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzQtMS0xLTEtMA_128b3ce5-2f3f-4e69-8fb0-7453bcd38d05">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFour" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzQtNC0xLTEtMA_117390d7-5c5e-4d00-aeb8-dc4c6507eb83">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzUtMS0xLTEtMA_5030ea30-87fe-4d86-8362-9c2f735217e5">1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFive" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzUtNC0xLTEtMA_e2f3bb9e-a9dc-4bf2-8065-e1d9cee3e249">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzYtMS0xLTEtMA_f1cfd334-a41e-4661-b57f-bad8e75573f6">359</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzYtNC0xLTEtMA_4175402a-1adb-4c2d-bf83-9aa1555b72bc">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzctMS0xLTEtMA_e8f61260-31e4-4d57-b823-0175a3ab9e90">8</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzctNC0xLTEtMA_617b757b-a796-451b-ba03-d72784d02356">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzgtMS0xLTEtMA_84aff038-4e8b-4848-b900-43adea8b05d9">351</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzgtNC0xLTEtMA_eb10010a-c0e4-4436-ac48-94322759117f">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDE_9fc78341-d88c-4496-b8a7-40daf5b65a10" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.765%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ended December 31,</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental Cash Flow Information:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid, net, for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:OperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzQtMS0xLTEtMA_1a62d8dc-6a8d-42c0-b724-4c194f8ca089">532</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:OperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzQtMy0xLTEtMA_3efafe52-5dfb-4ae9-bb43-76ea4f0977ca">537</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from restructured leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:RestructuredLeasesOperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzUtMS0xLTEtMA_19e8ea6b-b0df-4771-9788-09e495ef7a0d">35</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:RestructuredLeasesOperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzUtMy0xLTEtMA_abba2aa8-969a-4617-9c6b-70547f6cca04">69</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzYtMS0xLTEtMA_f17d2b91-a09f-4b11-8036-ddf014185903">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzYtMy0xLTEtMA_a7e5dc5f-bc2e-464c-a93f-9f1cc2f22c1d">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric></ix:continuation></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_151"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:InventoryDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzExODY_fb14099f-1e05-4da1-b316-c6bff76e79a5" continuedAt="i097543fc103140dc9f26a8f9920781a1" escape="true">INVENTORIES</ix:nonNumeric></span></div><ix:continuation id="i097543fc103140dc9f26a8f9920781a1"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzExODM_874c0d72-1899-4707-8f98-28eeac36724c" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value and consists of the following (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:61.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.282%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:InventoryRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzItMS0xLTEtMA_f6e848f4-3669-4aa4-9cbb-01995cf103a1">3,882</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:InventoryRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzItMy0xLTEtMA_b2fb473c-8ba5-4a4e-9fe6-640af776bcfc">2,695</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:InventoryFinishedGoods" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzMtMS0xLTEtMA_86e0e460-82ae-401b-b7d4-2331f0b695b8">7,034</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:InventoryFinishedGoods" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzMtMy0xLTEtMA_f56c76e8-95f0-44e4-b1bf-b9253b4fb0bb">5,840</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserve for excess, obsolete, and slow-moving inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzQtMS0xLTEtMA_e98ac7e4-18b8-488d-905b-c5b022ea2a7d">3,050</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzQtMy0xLTEtMA_d63be903-c76e-4cb7-843b-1b4885a4e940">2,894</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Inventories, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzUtMS0xLTEtMA_0e992ab0-6d79-4138-a445-eea2a7d2a13c">7,866</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzUtMy0xLTEtMA_91888290-8c37-494c-8d93-a881f3851a9b">5,641</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.326%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.128%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.516%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:InventoryValuationReservesRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzItMS0xLTEtMA_ac0142fc-63a9-4272-9a09-f9fe3acf05ae">2,894</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231" decimals="-3" name="efoi:InventoryValuationReservesRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzItMy0xLTEtMA_ba93f16a-0e22-42dc-85ed-a03c02395734">3,518</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrual</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="efoi:InventoryValuationReservesProvisionAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzMtMS0xLTEtMA_14dec86d-ba9e-4f99-bf2a-61955d67a673">281</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:InventoryValuationReservesProvisionAccrual" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzMtMy0xLTEtMA_26426cce-1124-427b-aa9f-7f7da9532c22">281</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reduction due to sold inventory</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="efoi:InventoryValuationReservesSalesOfInventory" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzQtMS0xLTEtMA_b3ee69c7-49ba-44ab-affa-12b669336869">125</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="efoi:InventoryValuationReservesSalesOfInventory" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzQtMy0xLTEtMA_c7fd53bb-bea7-4f2f-bfd4-ac403323e35a">343</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:InventoryValuationReservesRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzYtMS0xLTEtMA_f4fdc43c-ae55-4924-ba74-f86bd8619883">3,050</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:InventoryValuationReservesRawMaterials" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzYtMy0xLTEtMA_b60dd8fd-6334-4350-96f6-9c02220fec6b">2,894</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Throughout 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components. This resulted in a net increase of our gross inventory levels of $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-5" name="efoi:IncreaseDecreaseInInventoryLevelsGross" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzEwOTk1MTE2MzEwMzM_7051da46-9eb0-4b80-9e5c-cf159fbc50c1">2.4</ix:nonFraction>&#160;million and excess inventory reserves of $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-5" name="efoi:IncreaseDecreaseInInventoryReserves" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzEwOTk1MTE2MzEwNzA_673ed88f-1549-42fb-8285-1241d0ee76dd">0.2</ix:nonFraction>&#160;million as compared to 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand, which resulted in a net reduction of our gross inventory levels of $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-5" sign="-" name="efoi:IncreaseDecreaseInInventoryLevelsGross" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzEwOTk1MTE2MzExNzc_abcef1bd-5e0f-4b81-a6f8-9680ee01af60">1.2</ix:nonFraction>&#160;million and excess inventory reserves of $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-5" name="efoi:IncreaseDecreaseInInventoryReserves" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzEwOTk1MTE2MzExODQ_99b0cabd-7f7f-4a29-b9f5-281157e8f4e5">0.6</ix:nonFraction>&#160;million compared to 2019.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_154"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 6.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90ZXh0cmVnaW9uOmFkODUxMDQ2Mjc2MDQ0MDNiYjQ4MzRhMDBhNWM3MGE4XzU2NQ_d4c8d5ac-c7cf-4e39-afec-03390ede1893" continuedAt="iea19ad2fbac642738e897ef517d7e652" escape="true">PROPERTY AND EQUIPMENT</ix:nonNumeric></span></div><ix:continuation id="iea19ad2fbac642738e897ef517d7e652"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90ZXh0cmVnaW9uOmFkODUxMDQ2Mjc2MDQ0MDNiYjQ4MzRhMDBhNWM3MGE4XzU2OA_7cb21a7e-1e70-4524-8dd2-094681db850d" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:61.509%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.228%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.230%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equipment (useful life <ix:nonNumeric contextRef="i04b49d9af60b4a0a9c54c1686dbdd119_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzItMC0xLTEtMC90ZXh0cmVnaW9uOmZiZTJmYjVjNWYwODRhODY4ZTM5ZTk5MjZkNDdkNjdkXzI3_5c8ea90e-93d9-4358-bbf2-5125d7b2513e">3</ix:nonNumeric> - <ix:nonNumeric contextRef="if5281ca33d254ea6b9e23dc243594e60_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzItMC0xLTEtMC90ZXh0cmVnaW9uOmZiZTJmYjVjNWYwODRhODY4ZTM5ZTk5MjZkNDdkNjdkXzMy_ef090971-c614-499d-89f8-aa034af30c5f">15</ix:nonNumeric> years)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idcee913e5d52496d95fb8ce3745843b9_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzItMS0xLTEtMA_3944cd87-562a-46af-b941-cd38aa14f1fc">1,308</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="icea611e5206a4ce78ce5ee2a8b2c13fd_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzItMy0xLTEtMA_91ec3767-eda1-4084-af25-47ca795cf095">1,281</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tooling (useful life <ix:nonNumeric contextRef="i6ceeeb23d2d6497abef9745a8814bbf7_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzMtMC0xLTEtMC90ZXh0cmVnaW9uOmJlMTUwMzlhNWU2ZDRjYmRhZjRiNGMzZDA5ZTA3ZDBkXzI1_5fa84a05-1d7a-481e-9994-286510ef3784">2</ix:nonNumeric> - <ix:nonNumeric contextRef="id814784061ac4a46984cf3f29d9a438f_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzMtMC0xLTEtMC90ZXh0cmVnaW9uOmJlMTUwMzlhNWU2ZDRjYmRhZjRiNGMzZDA5ZTA3ZDBkXzMw_0ca2a2fa-23ab-4e91-8ef3-7c065bee9138">5</ix:nonNumeric> years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6da946e795d64529bc7527c406643abb_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzMtMS0xLTEtMA_bcb862bf-7d46-4def-b817-7839cd14591d">384</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i770bea7c0bae458ba2a98bf0dbfe09e5_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzMtMy0xLTEtMA_821df12c-9bc7-4b83-8c36-9f8e8595e3a7">240</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vehicles (useful life <ix:nonNumeric contextRef="i828edd52de644b00a33a5b9030584c28_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzQtMC0xLTEtMC90ZXh0cmVnaW9uOmU1MjhjZWIzMjRmOTQ0Mjg5ODIzYTVhZDA5N2U1Yzk3XzI2_dd4417a4-ac67-4cc1-b178-685e33fae37d">5</ix:nonNumeric> years)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iaaf77b8a9a2e4947b75814bf3242bc10_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzQtMS0xLTEtMA_bd3cbdc5-1f74-4d15-9624-71afa728bc6b">83</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1a550296d7fc4121afc74313bee95cb2_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzQtMy0xLTEtMA_8fee1b79-e24a-45ff-b05f-9f6197a484ce">47</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures (useful life <ix:nonNumeric contextRef="i118bc3bb13964ac4b9cea47abba4b282_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzUtMC0xLTEtMC90ZXh0cmVnaW9uOmY0ZmNhZDdlZGUwMzRjNGZiMGI1MTE0MzRhMGRiM2ZhXzQw_51996442-62a7-410b-8639-830b392c1714">5</ix:nonNumeric> years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i356a742a941f45e9bc0f90a24c395a99_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzUtMS0xLTEtMA_6e31aa0c-fa70-414f-a6c0-ad8d80668184">86</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i031edd6bc9404d78bacb8baf3cca4853_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzUtMy0xLTEtMA_9a5b2f3f-d34a-4778-9089-764f5de86125">137</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer software (useful life <ix:nonNumeric contextRef="i90eca37a50ac489eb820c95b38510276_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzYtMC0xLTEtMC90ZXh0cmVnaW9uOmJiMWM1ZWQwNWVhNzQ1YmQ4NTQ1ZmQwMTY3ZWNiZTc5XzM1_a1d8ff08-f4e7-41e1-8838-ef05b0ab42d6">3</ix:nonNumeric> years)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0d01182fd3b0465497d99db07a0a6d1c_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzYtMS0xLTEtMA_36c7524b-abe1-4ddb-98c8-fc5bc0695ce1">1,194</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idc6c6b34a234420090941dcab81b2038_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzYtMy0xLTEtMA_a841ef37-9fae-41a5-81ff-2039523101b2">1,057</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements (the shorter of useful life or lease life)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i60afced28e3f497d8613e800ef100c20_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzctMS0xLTEtMA_ede27d17-98ef-4139-803f-509bfbcf5960">169</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie9446ba647a3420b8f72b25fdc46b820_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzctMy0xLTEtMA_7864d39c-7b5e-4e8b-9755-a80616c94003">169</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease right-of-use asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzgtMS0xLTEtMA_4d4cfa20-fa31-47f5-8918-0856c7254458">13</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzgtMy0xLTEtMA_953a6520-6b2f-4f0b-afe7-d9615177f4c1">13</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">UV - Robots (useful life <ix:nonNumeric contextRef="ia7d1fd0e3e6542f9a83b81c1e7e02054_D20210101-20211231" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMC0xLTEtNDc2My90ZXh0cmVnaW9uOmI0OTAzMjVjZTljZjRmZDViN2QxZGZkNWJkOTgwNzdjXzEwOTk1MTE2Mjc4MTQ_ae07b9b5-543d-490e-9cef-57eb387ce24f">5</ix:nonNumeric> years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0ce591d99bf1425bb32dbc34f1364feb_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMS0xLTEtMjU5MDc_f331457c-1c6f-4426-b8eb-3454566cf9a0">105</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iad78534a538542d8bdc1491b840f56c5_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMy0xLTEtNDc2Mw_b1a82967-25a0-45ca-9d3e-e997dee6884f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ifc36b978a9b248a1855fffbee6b000e6_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMS0xLTEtMA_77d20b97-8420-458e-a807-9d0e09805305">135</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i3927acf6355a420ea1726db2feabe97c_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMy0xLTEtMA_bf3d1e1c-300f-448b-a954-0015a3760192">140</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment at cost</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzEwLTEtMS0xLTA_7c85472a-ac40-40da-b22e-e167a3ca855e">3,477</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzEwLTMtMS0xLTA_fc9b39af-74e7-4f68-a3f5-79261d30e663">3,084</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzExLTEtMS0xLTA_a102a48d-8709-4dd7-b1b0-f6ee0d583341">2,802</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzExLTMtMS0xLTA_d58d8a70-8ec3-4383-9713-4f8697324194">2,664</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzEyLTEtMS0xLTA_6d059b12-c63c-4ad9-a4c4-b2ae2cf7e9c4">675</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzEyLTMtMS0xLTA_804df506-ecd6-45f8-a360-163728026800">420</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense was $<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-5" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90ZXh0cmVnaW9uOmFkODUxMDQ2Mjc2MDQ0MDNiYjQ4MzRhMDBhNWM3MGE4XzI1Ng_59e1f6c5-1125-4197-a082-89d82d153086"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-5" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90ZXh0cmVnaW9uOmFkODUxMDQ2Mjc2MDQ0MDNiYjQ4MzRhMDBhNWM3MGE4XzI1Ng_cfaf925c-2b66-46e2-a5bd-eaf300afae75">0.2</ix:nonFraction></ix:nonFraction> million for both of the years ended December&#160;31, 2021 and 2020. There were no impairment charges for property and equipment during 2021 and 2020.</span></div></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_157"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 7. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:OtherCurrentAssetsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90ZXh0cmVnaW9uOmJmZGQ4YjY2ZTIyZTRmNTE5NDVmOGJlZWEyYTkxMmU0XzEyOQ_18390317-f998-428b-b6cf-ea2f397a13ef" continuedAt="i21a313b2980547fb857f499096c0dd0a" escape="true">PREPAID AND OTHER CURRENT ASSETS</ix:nonNumeric></span></div><ix:continuation id="i21a313b2980547fb857f499096c0dd0a"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90ZXh0cmVnaW9uOmJmZGQ4YjY2ZTIyZTRmNTE5NDVmOGJlZWEyYTkxMmU0XzEzMg_daf1e76d-c20e-41f6-b161-77ed475b1d6b" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid and other current assets consisted of the following (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:68.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.562%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.564%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid insurance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PrepaidInsurance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzItMS0xLTEtMA_9eb5ce4d-bd34-4e04-9023-91b24fb22efe">131</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PrepaidInsurance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzItMy0xLTEtMA_7b20c298-6103-4c00-b7ba-e32dc7b876dc">126</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OtherPrepaidExpenseCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzMtMS0xLTEtMA_1fca0c61-2988-44cd-8e1d-1bf2c364c9ba">253</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:OtherPrepaidExpenseCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzMtMy0xLTEtMA_479e5101-af4a-4512-b4dd-34e2c3345591">233</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid rent</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PrepaidRent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzQtMS0xLTEtMA_f32a92af-6739-4ff8-8710-6ccb25d80483">74</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PrepaidRent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzQtMy0xLTEtMA_96489e62-98dd-43db-89a5-bdfb354281e8">80</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term deposits - non-inventory</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:SecurityDeposit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzUtMS0xLTEtMA_875509ce-74d7-462b-9bf8-64950f0cc962">18</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:SecurityDeposit" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzUtMy0xLTEtMA_29c9643c-ac51-4734-94b4-e4bd03f3a4a3">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:RestrictedCash" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzctMS0xLTEtMA_73574c3d-094f-4e89-b1d6-754d1b1ce855">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:RestrictedCash" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzctMy0xLTEtMA_840feb78-6469-413c-87a9-e1375c2df6aa">342</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ERTC funds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzgtMS0xLTEtNDI1MzA_1b812985-a20c-4586-ad1e-6dddf382f4cf">445</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzgtMy0xLTEtNDI1MzA_f003aff8-26f1-427f-a5be-b0564499f062">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:OtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzgtMS0xLTEtMA_92a0e807-d1b4-40ba-9628-4759b7ed6683">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:OtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzgtMy0xLTEtMA_9c3ab03a-ad34-41de-bc42-6d4e348fd6cf">1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total prepaid and other current assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzktMS0xLTEtMA_adacbdca-9ddb-4410-b88b-befb8013b845">924</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzktMy0xLTEtMA_bac6453e-7864-4f57-be05-1bac5bbd5cee">782</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_163"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 8.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:DebtDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEyMDA5_047752cb-8247-4f35-822f-9af1343528a2" continuedAt="ia62525554e674472bd3a38530177d90b" escape="true">DEBT</ix:nonNumeric></span></div><ix:continuation id="ia62525554e674472bd3a38530177d90b" continuedAt="if1cee8bb4c964481830e3ade7b076055"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Credit Facilities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 11, 2020, we entered into <ix:nonFraction unitRef="creditfacility" contextRef="idaf6193742c24231b85ad8babc0de26d_I20200811" decimals="INF" name="efoi:DebtInstrumentNumberOfCreditFacilities" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3MjY_8fac70b4-947d-4085-8273-8659946dd0ba">two</ix:nonFraction> debt financing arrangements (together, the &#8220;Credit Facilities&#8221;) that allow for expanded borrowing capacity at a lower blended borrowing cost. The first arrangement is an inventory financing facility (the &#8220;Inventory Facility&#8221;) pursuant to the Loan and Security Agreement (the &#8220;Inventory Loan Agreement&#8221;) between the Company and Crossroads Financial Group, LLC, a North Carolina limited liability company (the &#8220;IF Lender&#8221;). Borrowings under the Inventory Facility are permitted up to the lower of (i) $<ix:nonFraction unitRef="usd" contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzUwMw_5fecaaf4-fd59-4880-a7b9-4fcf37fd0f56">3.0</ix:nonFraction> million, which was subsequently increased to $<ix:nonFraction unitRef="usd" contextRef="i5e1b54f4de2e455b8122f9e0fcefd992_I20210420" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2Mzk5Mjk_cfc12f1d-c4be-42bf-871c-8fc0ce453907">3.5</ix:nonFraction> million as described below, and (ii) a borrowing base determined from time to time based on the value of the Company&#8217;s eligible inventory, valued at <ix:nonFraction unitRef="number" contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811" decimals="INF" name="efoi:LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYyNw_78965b7e-136f-4111-801f-2e809956ff20">75</ix:nonFraction>% of inventory costs or <ix:nonFraction unitRef="number" contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811" decimals="INF" name="efoi:LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY1Mg_5a7bee7c-9349-4ac4-bb5f-3bacef8f98ed">85</ix:nonFraction>% of the inventory net orderly liquidation value, less the availability reserves. On April 20, 2021, the Company and the IF Lender entered into an amendment to the Inventory Loan Agreement to increase the maximum amount that may be available to the Company from $<ix:nonFraction unitRef="usd" contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDAyMzk_5fecaaf4-fd59-4880-a7b9-4fcf37fd0f56">3.0</ix:nonFraction> million to $<ix:nonFraction unitRef="usd" contextRef="i5e1b54f4de2e455b8122f9e0fcefd992_I20210420" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDAyNTQ_cfc12f1d-c4be-42bf-871c-8fc0ce453907">3.5</ix:nonFraction> million, subject to the borrowing base as set forth in the Inventory Loan Agreement. The outstanding indebtedness under the Inventory Facility accrues at an annual rate equal to the greater of (i) <ix:nonFraction unitRef="number" contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811" decimals="4" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzg0Nw_2923ee88-201e-4538-84a9-50310fd556c6">5.75</ix:nonFraction>% and (ii) <ix:nonFraction unitRef="number" contextRef="ie8e84d2e1cca4d5fb6ff11993e3e0f78_I20200811" decimals="4" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzg1OQ_de409916-d4c7-412a-a677-22f961114387">4.00</ix:nonFraction>% plus the three-month LIBOR rate (<ix:nonFraction unitRef="number" contextRef="i0043711a97a341c397ab0096699560a4_I20211231" decimals="4" name="efoi:DebtInstrumentBaseRateVariable" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTI5OTE_9aac332f-ccc4-4e0e-9f42-88b6a60988f4">0.21</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="if5cbdfeed99e46598f3f5d1461b11ab7_I20201231" decimals="4" name="efoi:DebtInstrumentBaseRateVariable" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTI5OTg_f3344cf1-12f5-4919-9fa5-49b72bcc3a07">0.24</ix:nonFraction>% at December 31, 2021 and </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="if1cee8bb4c964481830e3ade7b076055" continuedAt="i0471e0515bc34ee28735d113a3682396"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2020, respectively) and is also subject to a service fee of <ix:nonFraction unitRef="number" contextRef="i58f196ecff6b46eea4a57dec22f48cda_D20200811-20200811" decimals="2" name="efoi:LineOfCreditFacilityMonthlyFacilityFeePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzkzNA_d943b133-49a8-4efd-ba20-28c39ca8e157">1</ix:nonFraction>% per month. The annualized interest rate at December&#160;31, 2021 and 2020, which includes interest fees, the annual facility fee, bank fees and other miscellaneous lender fees, was <ix:nonFraction unitRef="number" contextRef="i7a5e71e587f74bc4b89768f2c2db2f25_I20211231" decimals="3" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDA0NjE_b1b6c9bc-c77d-4ce6-8f1b-4671cf585e27">22.4</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="iab91bc451ca94b2180935128724b06d5_I20201231" decimals="3" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE0Nzg_1a7e35bb-2946-43b9-a6df-98fdbd6f48bf">23.6</ix:nonFraction>%, respectively. The Inventory Facility&#8217;s interest and service fees combined amount is subject to a minimum monthly fee of $<ix:nonFraction unitRef="usd" contextRef="i58f196ecff6b46eea4a57dec22f48cda_D20200811-20200811" decimals="INF" name="efoi:LineOfCreditFacilityMonthlyFacilityFee" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzExMTI_f2b66a72-df48-4c52-92dc-f3bca1180d63">18</ix:nonFraction>&#160;thousand. There would be no breakage fee for the Company for the Inventory Facility if the Company were to refinance it with an American Bankers Association (&#8220;ABA&#8221;) equivalent institution. The Inventory Facility is secured by substantially all of the present and future assets of the Company and is also governed by an intercreditor agreement among the Company, the IF Lender and the RF Lender (defined below). The Inventory Facility matures on August 11, 2022, subject to early termination upon 90 days&#8217; notice and otherwise in accordance with the terms of the Inventory Loan Agreement. The term is automatically extended in successive one year increments unless terminated by either party in accordance with the Inventory Loan Agreement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The second arrangement is a receivables financing facility (the &#8220;Receivables Facility&#8221;) pursuant to the Loan and Security Agreement (the &#8220;Receivables Loan Agreement&#8221;) between the Company and Factors Southwest L.L.C. (d/b/a FSW Funding), an Arizona limited liability company (the &#8220;RF Lender&#8221;). Borrowings under the Receivables Facility are permitted up to the lower of (i) $<ix:nonFraction unitRef="usd" contextRef="i67be18c3172a41a8847ae518d3a1cdd9_I20200811" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzIyNDE_5cb8c7c5-b8f8-4983-98a0-3d79acdde5a1">2.5</ix:nonFraction> million or (ii) a borrowing base determined from time to time based on the value of the Company&#8217;s eligible accounts receivable, valued at <ix:nonFraction unitRef="number" contextRef="i67be18c3172a41a8847ae518d3a1cdd9_I20200811" decimals="INF" name="efoi:LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzIzNzQ_b05428bc-59e0-45f5-80fc-a24c301bb59f">90</ix:nonFraction>% of the face value of such accounts receivable, less availability reserves, if any. Interest on outstanding indebtedness under the Receivables Facility accrues at an annual rate equal to (i) the highest prime rate announced from time to time by the Wall Street Journal (<ix:nonFraction unitRef="number" contextRef="i4597721858924a03be6c0c147231d8ec_I20201231" decimals="4" name="efoi:DebtInstrumentBaseRateVariable" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTMwNTE_840cc9c2-aa93-4bd9-9356-b07d1618e5a8"><ix:nonFraction unitRef="number" contextRef="i1fede1b9f5c44ee4996d1809dea254bb_I20211231" decimals="4" name="efoi:DebtInstrumentBaseRateVariable" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTMwNTE_98a4f929-7df7-443f-9ac7-3283fa8cf52e">3.25</ix:nonFraction></ix:nonFraction>% at both December 31, 2021 and 2020) plus (ii) <ix:nonFraction unitRef="number" contextRef="i67be18c3172a41a8847ae518d3a1cdd9_I20200811" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI2NTU_e378de6f-c5a0-42cf-8809-32dbaa2e110e">2</ix:nonFraction>%. At December&#160;31, 2021 and 2020, the annualized interest rate, which includes interest fees and the annual facility fee, was <ix:nonFraction unitRef="number" contextRef="i9831e7a6aa584250a1fcd1383c52f824_I20211231" decimals="3" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE0OTg_9bc5cc9c-d3be-4686-a2ac-a5d83ac76cb9">8.0</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231" decimals="3" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE0ODI_b2e186a0-8c24-4978-b8d6-5f4e48e78c3b">7.9</ix:nonFraction>%, respectively. The annualized interest rate on the collateral management fee was <ix:nonFraction unitRef="number" contextRef="i9831e7a6aa584250a1fcd1383c52f824_I20211231" decimals="3" name="efoi:DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU2ODI_1c627218-0c56-4a16-96ea-4ec12ac08b04"><ix:nonFraction unitRef="number" contextRef="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231" decimals="3" name="efoi:DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU2ODI_52b5e60b-8e29-4732-864e-63e5c17da039">5.9</ix:nonFraction></ix:nonFraction>% at both December&#160;31, 2021 and 2020. The Receivables Facility is also secured by substantially all of the present and future assets of the Borrower and is also governed by an intercreditor agreement among the Company, the IF Lender and the RF Lender. A $<ix:nonFraction unitRef="usd" contextRef="i4db6a51dd4eb466c96b4891040f242ac_D20200811-20200811" decimals="INF" name="efoi:LineOfCreditFacilityMonthlyFacilityFee" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzMwMDc_6a13db74-d437-48c0-8d91-a202db00964c">25</ix:nonFraction>&#160;thousand, or <ix:nonFraction unitRef="number" contextRef="i4db6a51dd4eb466c96b4891040f242ac_D20200811-20200811" decimals="INF" name="efoi:LineOfCreditFacilityMonthlyFacilityFeePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzMwMTQ_56458b95-21af-4703-a0d7-318c6e8ffa91">1</ix:nonFraction>%, facility fee was charged at closing. There would be no breakage fee for the Company for the Receivables Facility if the Company were to refinance it with an ABA equivalent institution. The Receivables Facility matures on August 11, 2022, subject to early termination in accordance with the terms of the Receivables Loan Agreement; provided that the term is automatically extended in successive one year increments unless terminated by either party in accordance with the Receivables Loan Agreement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Inventory Facility were $<ix:nonFraction unitRef="usd" contextRef="i7a5e71e587f74bc4b89768f2c2db2f25_I20211231" decimals="-5" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTE5Njk_a63bb3eb-f396-4a87-a093-e52c2edd90a6">1.2</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="iab91bc451ca94b2180935128724b06d5_I20201231" decimals="-5" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTE5NTU_96ea379e-3cf0-47d8-87ee-b36228a26ba0">1.3</ix:nonFraction> million at December&#160;31, 2021 and 2020, respectively. Borrowings under the Receivables Facility were $<ix:nonFraction unitRef="usd" contextRef="i9831e7a6aa584250a1fcd1383c52f824_I20211231" decimals="-5" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE2ODE_34bd25f9-e8c1-4a1d-b8c5-657ed908b91d"><ix:nonFraction unitRef="usd" contextRef="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231" decimals="-5" name="us-gaap:LinesOfCreditCurrent" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE2ODE_74300c19-b0a3-4988-90cc-ec079f54d470">1.0</ix:nonFraction></ix:nonFraction> million at both December&#160;31, 2021 and 2020. Borrowings under the Credit Facilities are recorded in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020 as a current liability under the caption &#8220;Credit line borrowings, net of origination fees.&#8221; Outstanding balances include unamortized net issuance costs totaling $<ix:nonFraction unitRef="usd" contextRef="i7a5e71e587f74bc4b89768f2c2db2f25_I20211231" decimals="-3" name="us-gaap:UnamortizedDebtIssuanceExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTE5Nzc_4e4f0eab-96c7-4fbd-bd13-be43318140cb">84</ix:nonFraction> thousand and $<ix:nonFraction unitRef="usd" contextRef="iab91bc451ca94b2180935128724b06d5_I20201231" decimals="-3" name="us-gaap:UnamortizedDebtIssuanceExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTE5NjI_f65347b1-e07c-48ab-8d1e-379d3322a304">121</ix:nonFraction> thousand for the Inventory Facility and $<ix:nonFraction unitRef="usd" contextRef="i9831e7a6aa584250a1fcd1383c52f824_I20211231" decimals="-3" name="us-gaap:UnamortizedDebtIssuanceExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE3NDA_185a4956-5749-43d4-a545-b108c161e78a">24</ix:nonFraction>&#160;thousand and $<ix:nonFraction unitRef="usd" contextRef="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231" decimals="-3" name="us-gaap:UnamortizedDebtIssuanceExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzM4OTU_22bba8f9-6b0e-4286-9ec4-208b7bbff2d3">40</ix:nonFraction>&#160;thousand for the Receivables Facility as of December&#160;31, 2021 and 2020, respectively.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Facilities replaced the Austin Facility that was entered into on December 11, 2018 and was secured by a lien on our assets. The Austin Facility was a <ix:nonNumeric contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811" name="efoi:LineOfCreditFacilityAnnualFacilityFeePeriod" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3MjA_8c47bdfd-31d2-48ce-aeef-a9722a2f0cde">three year</ix:nonNumeric>, $<ix:nonFraction unitRef="usd" contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQxMzY_9c240b8c-b6a0-495c-a697-b6ed5831a4cc">5.0</ix:nonFraction> million revolving line of credit. The total loan amount available to us under the Austin Facility from time to time was based on the amount of our (i) qualified accounts receivable, which is equal to the lesser of <ix:nonFraction unitRef="number" contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811" decimals="INF" name="efoi:LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQzNDU_826f8f46-7789-4ac0-88e8-42c39b019481">85</ix:nonFraction>% of our net eligible receivables of, or $<ix:nonFraction unitRef="usd" contextRef="idaf6193742c24231b85ad8babc0de26d_I20200811" decimals="-5" name="efoi:LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQzODc_a5c901f9-a1ca-48be-9246-4a1f45fccbd5">4.5</ix:nonFraction> million, plus (ii) available inventory, which is the lesser of <ix:nonFraction unitRef="number" contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811" decimals="INF" name="efoi:LineOfCreditFacilityAvailableInventoryNetRealizableValue" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ0NDU_c53056d8-66eb-416c-80e3-e0452194100c">20</ix:nonFraction>% of the net realizable value of eligible inventory of, or $<ix:nonFraction unitRef="usd" contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811" decimals="INF" name="efoi:LineOfCreditFacilityAvailableInventory" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ1MDU_4066744c-79d8-40b6-a71e-97583c70c202">500</ix:nonFraction>&#160;thousand. The Austin Facility charged interest deeming a minimum borrowing requirement of $<ix:nonFraction unitRef="usd" contextRef="ic9db06faf1024e7a9f0736ed8807b507_D20200811-20200811" decimals="INF" name="efoi:LineOfCreditFacilityMinimumRequirement" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ1ODk_f1b005cc-6682-46ab-bc1d-a4107908a753">1.0</ix:nonFraction> million. Interest on advances under the line was due monthly at the &#8220;Prime Rate,&#8221; as published by the Wall Street Journal from time to time, plus a margin of <ix:nonFraction unitRef="number" contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811" decimals="INF" name="efoi:LineOfCreditFacilityOverdraftFeePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ3NDI_8c1a01de-8d81-4b64-af8f-fff2243781f2">2</ix:nonFraction>%. Overdrafts were subject to a <ix:nonFraction unitRef="number" contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811" decimals="INF" name="efoi:LineOfCreditFacilityOverdraftFeePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ4MTE_e00cb4e9-440c-4b2a-bbcb-ad619d27f721">2</ix:nonFraction>% fee. Additionally, an annual facility fee of <ix:nonFraction unitRef="number" contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811" decimals="INF" name="efoi:LineOfCreditFacilityAnnualFeePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ4NTk_4a0130fc-e052-4c72-ad87-0cbdd263f1c3">1</ix:nonFraction>% on the entire $<ix:nonFraction unitRef="usd" contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ4NzY_9c240b8c-b6a0-495c-a697-b6ed5831a4cc">5.0</ix:nonFraction> million amount of the Austin Facility was due at the beginning of each of the <ix:nonNumeric contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811" name="efoi:LineOfCreditFacilityAnnualFacilityFeePeriod" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ5NDk_fb54c097-bd3d-41cf-9c10-5b3dae7e1f31">three years</ix:nonNumeric> that the Austin Facility was outstanding and a <ix:nonFraction unitRef="number" contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811" decimals="INF" name="efoi:LineOfCreditFacilityCollateralManagementFeePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ5OTk_9eee060f-e063-42b1-9a5c-e25f2e1f29ae">0.5</ix:nonFraction>% collateral management fee on the average outstanding loan balance was payable monthly. On August 11, 2020, we paid $<ix:nonFraction unitRef="usd" contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811" decimals="-5" name="us-gaap:PaymentsOfDebtExtinguishmentCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzUyODE_2388cfa7-5f21-4e92-825a-b0d71fef84cb">1.4</ix:nonFraction> million to close the Austin Facility which included a $<ix:nonFraction unitRef="usd" contextRef="ibe5ff5c5b9b74855ae743afcbd43e396_I20200811" decimals="-3" name="us-gaap:DebtInstrumentFeeAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzUzMzA_022811bf-03be-4d61-afb1-8575edcfe505">100</ix:nonFraction>&#160;thousand termination fee. Additionally, we wrote off $<ix:nonFraction unitRef="usd" contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811" decimals="-3" name="us-gaap:WriteOffOfDeferredDebtIssuanceCost" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzUzNzc_76453bc6-b5dd-44bf-b6f3-0fe2f18de6b8">59</ix:nonFraction>&#160;thousand of the remaining related debt acquisition costs. The termination fee and the write-off of debt acquisition costs are reflected as a loss on extinguishment of debt in our Consolidated Statements of Operations for the twelve months ended December&#160;31, 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Streeterville Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;27, 2021, we entered into a note purchase agreement with Streeterville Capital, LLC (&#8220;Streeterville&#8221;) pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $<ix:nonFraction unitRef="usd" contextRef="if964e91e61a049199762807497f4fe6d_I20210427" decimals="-5" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDMzOTY_a430173c-6e62-48e9-9256-f37956b5f272">1.7</ix:nonFraction> million (the &#8220;Streeterville Note&#8221;). The Streeterville Note was issued with an original issue discount of $<ix:nonFraction unitRef="usd" contextRef="if964e91e61a049199762807497f4fe6d_I20210427" decimals="-3" name="us-gaap:DebtInstrumentUnamortizedDiscount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MDI_fb7daca2-7eb4-417d-993d-fe0555d5fd09">194</ix:nonFraction>&#160;thousand and Streeterville paid a purchase price of $<ix:nonFraction unitRef="usd" contextRef="id4197631807248e6a15b736ef527f10d_D20210427-20210427" decimals="-5" name="us-gaap:ProceedsFromIssuanceOfDebt" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MDk_8392efcc-b35a-4bf7-9a71-ce5049604b70">1.5</ix:nonFraction> million for the Streeterville Note, after deduction of $<ix:nonFraction unitRef="usd" contextRef="if964e91e61a049199762807497f4fe6d_I20210427" decimals="-3" name="us-gaap:DeferredFinanceCostsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MTU_4716c475-2f6e-415e-8693-6d0e11796e42">15</ix:nonFraction>&#160;thousand of Streeterville&#8217;s transaction expenses.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Streeterville Note has a maturity date of April&#160;27, 2023, and accrues interest at <ix:nonFraction unitRef="number" contextRef="if964e91e61a049199762807497f4fe6d_I20210427" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MjU_36174ff8-3a90-4a35-91f3-1bc882cd8a4d">8</ix:nonFraction>% per annum, compounded daily, on the outstanding balance. The Company may prepay the amounts outstanding under the Streeterville Note at a premium, which is </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i0471e0515bc34ee28735d113a3682396" continuedAt="ie29a11acceda4cbaaf1ec3e1b073b1d5"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="number" contextRef="ice26cbede5f042ffae76128fc6be5638_D20210427-20210427" decimals="2" name="efoi:DebtInstrumentPrepaymentPremiumPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0Mjk_1d3ec818-44f2-46b8-8a8b-c148f3038dec">5</ix:nonFraction>% during the first three months and <ix:nonFraction unitRef="number" contextRef="i773fb6b2d0a9406daa2a2e9864b7b65f_D20210427-20210427" decimals="2" name="efoi:DebtInstrumentPrepaymentPremiumPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MzM_4d0c93b8-bb86-4244-be80-3ca9644c56a4">10</ix:nonFraction>% thereafter. Prepayments at the reduced rate in the first three months are limited to <ix:nonFraction unitRef="number" contextRef="ice26cbede5f042ffae76128fc6be5638_D20210427-20210427" decimals="2" name="efoi:DebtPrepaymentMaximumPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3MzA_0bf7db8c-b633-43b1-bcb9-71d6e1895fa9">50</ix:nonFraction>% of the outstanding balance. Beginning on November 1, 2021, Streeterville may require the Company to redeem up to $<ix:nonFraction unitRef="usd" contextRef="if964e91e61a049199762807497f4fe6d_I20210427" decimals="-3" name="efoi:DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0NDE_b7dbf400-074d-4130-9408-89b6c4d18010">205</ix:nonFraction>&#160;thousand of the Streeterville Note in any calendar month. The Company has the right on <ix:nonFraction unitRef="deferral" contextRef="id4197631807248e6a15b736ef527f10d_D20210427-20210427" decimals="INF" name="efoi:DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" format="ixt-sec:numwordsen" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3NDE_33f44537-e428-441d-b634-6da3df1b1032">three</ix:nonFraction> occasions to defer all redemptions that Streeterville could otherwise require the Company to make during any calendar month. Each exercise of this deferral right by the Company will increase the amount outstanding under the Streeterville Note by <ix:nonFraction unitRef="number" contextRef="id4197631807248e6a15b736ef527f10d_D20210427-20210427" decimals="3" name="efoi:NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0NTQ_ab198f63-8ca3-47bd-90f4-747a2bbd8e42">1.5</ix:nonFraction>%. The Company exercised this right twice during the fourth quarter of 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total liability for the Streeterville Note, net of discount and financing fees, was $<ix:nonFraction unitRef="usd" contextRef="ib99d645c15c4437bad8769b7f7178def_I20211231" decimals="-5" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0NjY_ffd91740-22cb-482a-8c4e-250d19d00d6b">1.7</ix:nonFraction> million at December&#160;31, 2021. Unamortized loan discount and debt issuance costs were $<ix:nonFraction unitRef="usd" contextRef="ib99d645c15c4437bad8769b7f7178def_I20211231" decimals="-3" name="us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0NzM_15fafc7f-71c8-468f-a8b3-e4fe8c74ce4c">43</ix:nonFraction> thousand at December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the event our common stock is delisted from Nasdaq, the amount outstanding under the Streeterville Note will automatically increase by <ix:nonFraction unitRef="number" contextRef="id4197631807248e6a15b736ef527f10d_D20210427-20210427" decimals="2" name="efoi:DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0ODA_3e8dcf63-64c2-4dbe-a506-8a9a5afa6976">15</ix:nonFraction>% as of the date of such delisting.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PPP Loan</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;17, 2020, the Company was granted a loan from KeyBank National Association (&#8220;KeyBank&#8221;) in the amount of approximately $<ix:nonFraction unitRef="usd" contextRef="if96f463cbc104c67bd5c475b229d0070_D20200417-20200417" decimals="-3" name="us-gaap:ProceedsFromLoanOriginations1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU2OTY_83b32fc1-5b7a-4417-86ab-4229bfa5f446">795</ix:nonFraction>&#160;thousand, pursuant to the PPP under Division A of the Coronavirus Aid, Relief and Economic Security Act (the &#8220;CARES Act&#8221;), which was enacted on March 27, 2020. The funds were received on April 20, 2020 and accrued interest at a rate of <ix:nonFraction unitRef="number" contextRef="idda38c33d24c4b43a1f381624845675c_I20200417" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3NDU_c6784d21-8eec-4203-8ece-e7b874534ac8">1</ix:nonFraction>% per annum. At December&#160;31, 2020, $<ix:nonFraction unitRef="usd" contextRef="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231" decimals="-3" name="efoi:PaymentProtectionProgramCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDQ3MzU_65b82cb1-3baf-48cc-a99c-233cde1ce428">529</ix:nonFraction>&#160;thousand was classified as short-term debt and $<ix:nonFraction unitRef="usd" contextRef="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231" decimals="-3" name="efoi:PaymentProtectionProgramNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDQ3NDU_82beb5c3-b239-4c48-875e-feabd9681905">266</ix:nonFraction>&#160;thousand was classified as long-term debt on the Company&#8217;s Consolidated Balance Sheet. Under the terms of the PPP, certain amounts of the loan may be forgiven if they are used for qualifying expenses as described in the CARES Act. The entire principal balance and interest were forgiven by the Small Business Administration on February 11, 2021. The $<ix:nonFraction unitRef="usd" contextRef="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231" decimals="-3" name="efoi:GainLossOnForgivenessOfDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDU3MDE_c0baec71-3224-44b5-ae0d-54edf719bcf8">801</ix:nonFraction>&#160;thousand forgiveness income was recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Iliad Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November&#160;25, 2019, we entered into a note purchase agreement (the &#8220;Iliad Note Purchase Agreement&#8221;) with Iliad Research and Trading, L.P. (&#8220;Iliad&#8221;) pursuant to which the Company sold and issued to Iliad a promissory note in the principal amount of $<ix:nonFraction unitRef="usd" contextRef="i90c085f859574bfebac847d55bbc3e34_I20191125" decimals="INF" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3MDg_13f41fcf-91fa-42c1-8ec4-dca00ef6d67b">1.3</ix:nonFraction> million (the &#8220;Iliad Note&#8221;). The Iliad Note was issued with an original issue discount of $<ix:nonFraction unitRef="usd" contextRef="i90c085f859574bfebac847d55bbc3e34_I20191125" decimals="-3" name="us-gaap:DebtInstrumentUnamortizedPremium" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3MTU_1ebe615f-da63-402f-9958-a0b58334d61e">142</ix:nonFraction>&#160;thousand and Iliad paid a purchase price of $<ix:nonFraction unitRef="usd" contextRef="ib1e15e5d401847fdbcb7b4b5bae128d9_D20191125-20191125" decimals="-5" name="us-gaap:ProceedsFromIssuanceOfDebt" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3MjI_f8a72077-4f08-4825-a7bd-d774f110fc58">1.1</ix:nonFraction> million for the issuance of the Iliad Note, after deduction of $<ix:nonFraction unitRef="usd" contextRef="i90c085f859574bfebac847d55bbc3e34_I20191125" decimals="-3" name="us-gaap:DeferredFinanceCostsGross" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3Mjk_0d7d3fea-bd56-435c-acc3-f1df91be5547">15</ix:nonFraction>&#160;thousand of Iliad transaction expenses.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 1, 2020, we repaid the $<ix:nonFraction unitRef="usd" contextRef="ide56ed12b20d48d9b4d94f428ba486bf_D20201201-20201201" decimals="-3" name="us-gaap:RepaymentsOfDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3MzY_630b3a4a-096c-40e7-b7ff-dea073d9f1c7">30</ix:nonFraction>&#160;thousand remaining outstanding balance on the Iliad Note in full prior to its maturity date of November&#160;24, 2021. Remaining debt and original issue discount costs of $<ix:nonFraction unitRef="usd" contextRef="ide56ed12b20d48d9b4d94f428ba486bf_D20201201-20201201" decimals="-3" name="us-gaap:WriteOffOfDeferredDebtIssuanceCost" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3NDc_5e44d9e8-de4c-4691-8d63-ceb18091f211">117</ix:nonFraction>&#160;thousand were written off at that time and are reflected as a loss on extinguishment of debt in our Consolidated Statements of Operations for the year ended December&#160;31, 2020. The Iliad Note accrued interest at <ix:nonFraction unitRef="number" contextRef="i90c085f859574bfebac847d55bbc3e34_I20191125" decimals="INF" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3NTM_de2870c1-caca-4a38-88c2-86abf84ff03c">8</ix:nonFraction>% per annum, compounded daily, on the outstanding balance.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Iliad Note Purchase Agreement and the Iliad Note, we had, among other things, agreed that, until the Iliad Note was repaid <ix:nonFraction unitRef="number" contextRef="ie16f6e9c23a64c85a13cf785e1723ae8_D20191125-20191125" decimals="2" name="efoi:DebtInstrumentProceedsToBePaidToLenderPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3NzQ_f9de09ba-25df-44e8-9c24-a9d07de31b7f">10</ix:nonFraction>% of gross proceeds the Company received from the sale of our common stock or other equity must be paid to Iliad and applied to reduce the outstanding balance of the Iliad Note. In accordance with the terms of the Iliad Note, <ix:nonFraction unitRef="number" contextRef="ie16f6e9c23a64c85a13cf785e1723ae8_D20191125-20191125" decimals="2" name="efoi:DebtInstrumentProceedsToBePaidToLenderPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3Nzg_f9de09ba-25df-44e8-9c24-a9d07de31b7f">10</ix:nonFraction>% of the gross proceeds from the January 2020 Equity Offering ($<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-3" name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU4MjM_2b7cd007-41a8-4a09-ae2c-e38356233bf3">275</ix:nonFraction>&#160;thousand) were used to make payments on the Iliad Note, of which $<ix:nonFraction unitRef="usd" contextRef="i22379ce6d882415580b9a3b1a8bb4ca4_D20200101-20200131" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU4Mzk_e500e83b-5448-467a-99d5-5ef53d762875">226</ix:nonFraction>&#160;thousand went towards the outstanding principal amount.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Convertible Notes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March&#160;29, 2019, we issued $<ix:nonFraction unitRef="usd" contextRef="icdcfe2637deb4eb98cdaa89aec70b7f3_D20190329-20190329" decimals="-5" name="us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzU2NTg_94566e30-c8e0-46b2-a8f2-9b61845ed660">1.7</ix:nonFraction> million aggregate principal amount of subordinated convertible promissory notes (the &#8220;Convertible Notes&#8221;) to certain investors in a private placement exempt from the registration requirements of the Securities Act of 1933, as amended. The Convertible Notes had a maturity date of December 31, 2021 and bore interest at a rate of <ix:nonFraction unitRef="number" contextRef="i48990753270143b197bba2add072416d_D20190329-20190630" decimals="INF" name="us-gaap:DebtConversionOriginalDebtInterestRateOfDebt" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzU5ODI_876a4e0b-c485-4d86-8c52-4bdf498f39a4">5</ix:nonFraction>% per annum until June&#160;30, 2019 and at a rate of <ix:nonFraction unitRef="number" contextRef="ic344ceb0ca0f42c3b01d4208ea00d26e_D20190701-20200116" decimals="INF" name="us-gaap:DebtConversionOriginalDebtInterestRateOfDebt" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYwMjE_4e757749-f63a-47cc-a19a-f4a04c524536">10.0</ix:nonFraction>% thereafter. Pursuant to their terms, on January&#160;16, 2020, following approval by our stockholders of certain amendments to the Certificate of Incorporation, the principal amount of all of the Convertible Notes, and the accumulated interest thereon ($<ix:nonFraction unitRef="usd" contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116" decimals="-5" name="efoi:AccumulatedInterestOnSubordinatedDebt" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYyNTg_317e032b-fba0-4c78-9a6c-d01a0a3d01c7">0.1</ix:nonFraction> million), which totaled $<ix:nonFraction unitRef="usd" contextRef="i6b533f191bba46238f4755579bff014b_D20200116-20200116" decimals="-5" name="efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYyNzc_66f37685-1d01-4999-b173-39049b25b8ea">1.8</ix:nonFraction> million, were converted at a conversion price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116" decimals="2" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYzMjE_1037fc0d-ecdc-4514-844b-29f61393a5c4">0.67</ix:nonFraction> per share into an aggregate of <ix:nonFraction unitRef="shares" contextRef="i6b533f191bba46238f4755579bff014b_D20200116-20200116" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYzNTU_a77d1017-fe13-42a5-87e0-768bcbef4932">2,709,018</ix:nonFraction> shares of the Company&#8217;s Series A Convertible Preferred Stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY0MzA_5ead29f2-d542-4fce-aab9-ef13af80d652">0.0001</ix:nonFraction> per share (the &#8220;Series A Preferred Stock&#8221;), which is convertible on a one-for-five basis into shares of our common stock. During the year ended December&#160;31, 2020, <ix:nonFraction unitRef="shares" contextRef="i5f579cbb1c984446a8eb1c108e231de1_D20200101-20201231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY1ODE_4d1c807e-3761-4074-a007-456cd2837578">111,548</ix:nonFraction> shares of the Series A Preferred Stock were converted into <ix:nonFraction unitRef="shares" contextRef="i1ce2ebfacfc44de5aa6097399cebb658_D20200101-20201231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY2NDM_a22a3674-f303-425f-84c8-66c97d0ddeae">22,310</ix:nonFraction> shares of common stock. During the year ended December&#160;31, 2021, <ix:nonFraction unitRef="shares" contextRef="iaa5b42f29fe84c538a08e2001f41f572_D20210101-20211231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDkzNjM_f10c6980-9a19-4794-91f4-7dad60f80ce2">1,721,023</ix:nonFraction> shares of Series A Preferred Stock were converted into <ix:nonFraction unitRef="shares" contextRef="i059252fc965140ddb0415c20605988f6_D20210101-20211231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDkzNTE_67ee8d08-a64c-4e3b-ada8-9660f3613519">344,205</ix:nonFraction> shares of common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March&#160;29, 2019, which authorized <ix:nonFraction unitRef="shares" contextRef="i0d6ab6cb7de94ed9a7277e48db2a6d3f_I20190329" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY4MzQ_55dabd02-edff-4133-acf3-01e6c11e370e">2,000,000</ix:nonFraction> shares of Series A Preferred Stock (the &#8220;Original Series A Certificate of Designation&#8221;). The Original Series A Certificate of Designation was amended on January 15, 2020 following Stockholder </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="ie29a11acceda4cbaaf1ec3e1b073b1d5"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Approval to increase the number of authorized shares of Series A Preferred to <ix:nonFraction unitRef="shares" contextRef="ie67bfb806db345368ab13b6a42410e59_I20200115" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzcxMDc_ed0c6d62-7bee-4f69-8997-b31c7d261b44">3,300,000</ix:nonFraction> (the Original Series A Certificate of Designation as so amended, the &#8220;Series A Certificate of Designation&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall be entitled to a number of votes equal to <ix:nonFraction unitRef="number" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="4" name="efoi:PercentageOfSeriesAPreferredStockEligibleToVote" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzc2OTA_92e7841b-66f2-4772-8558-370b7c8e41a9">11.07</ix:nonFraction>% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock (a) has a preference upon liquidation equal to $<ix:nonFraction unitRef="usdPerShare" contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116" decimals="2" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzc4NzY_1037fc0d-ecdc-4514-844b-29f61393a5c4">0.67</ix:nonFraction> per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. We also filed a Certificate of Elimination with respect to the authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of preferred stock available for designation as the Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase agreement related to the Convertible Notes contained customary representations and warranties and provided for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.</span></div></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_166"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 9.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjYvZnJhZzphZTFiN2RlYjE3ZmE0ODBjODA1Y2I0ODM0MDljYWQ2My90ZXh0cmVnaW9uOmFlMWI3ZGViMTdmYTQ4MGM4MDVjYjQ4MzQwOWNhZDYzXzIyOQ_81d0d341-0708-4283-a091-7b2d1b70272d" continuedAt="i5e4bc57c0eff40b7bb854c85345a9b4b" escape="true">COMMITMENTS AND CONTINGENCIES</ix:nonNumeric></span></div><ix:continuation id="i5e4bc57c0eff40b7bb854c85345a9b4b"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Purchase Commitments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, we had approximately $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-5" name="us-gaap:PurchaseObligation" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjYvZnJhZzphZTFiN2RlYjE3ZmE0ODBjODA1Y2I0ODM0MDljYWQ2My90ZXh0cmVnaW9uOmFlMWI3ZGViMTdmYTQ4MGM4MDVjYjQ4MzQwOWNhZDYzXzk5_df025e7f-9fd0-4235-9cec-8dfb71a0fa8d">1.7</ix:nonFraction> million in outstanding purchase commitments for inventory, of which $<ix:nonFraction unitRef="usd" contextRef="ifbc5784ca5f748d4bf1bdaa88d8133ad_D20220101-20220331" decimals="-5" name="us-gaap:LongTermPurchaseCommitmentAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjYvZnJhZzphZTFiN2RlYjE3ZmE0ODBjODA1Y2I0ODM0MDljYWQ2My90ZXh0cmVnaW9uOmFlMWI3ZGViMTdmYTQ4MGM4MDVjYjQ4MzQwOWNhZDYzXzE2Mg_6a6d695f-ae1b-497c-b76e-c55080df6861">1.5</ix:nonFraction> million is expected to ship in the first quarter of 2022, and $<ix:nonFraction unitRef="usd" contextRef="id704b55736834b05bf98ea790e0fe70e_D20220401-20220630" decimals="-5" name="us-gaap:LongTermPurchaseCommitmentAmount" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjYvZnJhZzphZTFiN2RlYjE3ZmE0ODBjODA1Y2I0ODM0MDljYWQ2My90ZXh0cmVnaW9uOmFlMWI3ZGViMTdmYTQ4MGM4MDVjYjQ4MzQwOWNhZDYzXzEwOTk1MTE2MjgwMzI_e19dd337-85fe-4b13-a83c-354141ba9ae3">0.2</ix:nonFraction> million in the second quarter of 2022 and thereafter.</span></div></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_169"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">10.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTgw_1d238154-b37a-4d52-a7df-9a6191b02a1a" continuedAt="if585aaf1c9cf4afc8c3d396bf9f80f5c" escape="true">STOCKHOLDERS&#8217; EQUITY</ix:nonNumeric></span></div><ix:continuation id="if585aaf1c9cf4afc8c3d396bf9f80f5c" continuedAt="i00d473d5fd7b47ccbf6ee21932713aa7"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 2021 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed the December 2021 Private Placement with certain institutional investors for the sale of <ix:nonFraction unitRef="shares" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjcxNjc_baa4f697-7e58-415b-9451-470d43afe2f8">1,193,185</ix:nonFraction> shares of our common stock at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjcyMjE_cea686d2-ce74-43d1-b27f-a8b20833789d">3.52</ix:nonFraction> per share. We also sold to the same institutional investors (i) Pre-Funded Warrants to purchase <ix:nonFraction unitRef="shares" contextRef="i799339feb3544dceb3651c859ca2431e_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjczNDY_7b626d6e-5bf4-4707-b467-6688e2093f1a">85,228</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i799339feb3544dceb3651c859ca2431e_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjczOTc_2d71b3df-37fa-4978-b84a-ebd6432c4a97">0.0001</ix:nonFraction> per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of <ix:nonFraction unitRef="shares" contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE2NTc_b82f1fb9-3145-43d8-9ef9-8ff870abd8ab">1,278,413</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njc1NDM_6851d904-8bb0-4567-8bd7-72dd6b4304b9">3.52</ix:nonFraction> per share. We paid the placement agent commission of $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-3" name="efoi:PaymentsForPlacementAgentCommissions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njc1OTA_8114b4f1-285e-4065-a08a-ec51daf12dd3">360</ix:nonFraction>&#160;thousand plus $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-3" name="efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njc1OTk_a6b6a2af-3e88-4910-9ae7-0fcfd669728a">42</ix:nonFraction>&#160;thousand in expenses in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-3" name="efoi:PaymentsForClearingFees" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njk0MjU_c574e493-7117-4102-931f-df42665d2ecf">97</ix:nonFraction>&#160;thousand related to the December 2021 Private Placement. Total offering costs of $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njc3NjI_c21246fc-3f50-46ed-a540-61fd70e960ab">499</ix:nonFraction>&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021. Net proceeds from the December 2021 Private Placement were approximately $<ix:nonFraction unitRef="usd" contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njk2NjA_5b255d64-a49f-4a66-91f1-a48cb699a2f1">4.0</ix:nonFraction> million. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the <ix:nonFraction unitRef="shares" contextRef="iaf95a417971c4d3c9fcaf6869f7c9de2_D20211216-20211216" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE5MTY_a75b4a55-3293-4919-b68e-aac7b5940e10">85,228</ix:nonFraction> shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic EPS.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjgxMDI_ef83c784-d95b-49cc-9e67-7ce23652cbf6">1,363,641</ix:nonFraction> shares remained outstanding, with a weighted average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjgxODE_e708ccf9-f71b-463a-9a49-138c70034f8e">3.30</ix:nonFraction> per share. None of the December 2021 Warrants were exercised as of December&#160;31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $<ix:nonFraction unitRef="usd" contextRef="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231" decimals="-5" name="efoi:EstimatedProceedsFromIssuanceOfWarrants" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg0MDU_2cddc023-f88a-4616-b05f-d556d88a6255">4.5</ix:nonFraction>&#160;million in the aggregate.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzMzY_f3bcc9de-9fc1-4c3f-99b8-e4af332422c0" continuedAt="i521fa859a05e45efaabcaf324990d74a" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, we had the following outstanding December 2021 Warrants to purchase shares of common stock:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:40.859%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.759%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:17.759%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.763%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2021</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib457b7bb5a51461d809fe2b17feafe57_D20210101-20211231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzItMS0xLTEtMzc4NjY_e5a5c75b-11c5-4ee2-ba45-06900b7f0887">1,278,413</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231" decimals="4" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzItNS0xLTEtMzc4NjY_a433f2cd-5b50-4da1-a9c4-8a18448fa0cc">3.5200</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 16, 2026</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-Funded Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib10c54b935054c1887fe2263e2811bef_D20210101-20211231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzMtMS0xLTEtMzc4NjY_1ab1a6ca-770f-4f31-b6ad-819847ff607e">85,228</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="i799339feb3544dceb3651c859ca2431e_I20211231" decimals="4" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzMtNS0xLTEtMzc4NjY_1d6bd4e9-fa35-4e7b-bdd0-58256c534c6f">0.0001</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">None</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzQtMS0xLTEtMzc4NjY_021796bb-2690-493b-9a1a-5f0abfcc6853">1,363,641</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i00d473d5fd7b47ccbf6ee21932713aa7" continuedAt="i4301cba512cc4525941c99d8c2a0f852"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 2021 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2021, we completed a registered direct offering of <ix:nonFraction unitRef="shares" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="INF" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA0MDg_3a1ba930-9bc3-43bb-8bd5-21a834b125f8">990,100</ix:nonFraction> shares of our common stock to certain institutional investors, at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i4ac6002703434a738c92731a1f8c20a4_I20210630" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA0OTg_621ba086-afd0-4f80-90ff-2d0b67e36a79">5.05</ix:nonFraction> per share. We paid the placement agent commissions of $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-3" name="efoi:PaymentsForPlacementAgentCommissions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA1OTA_8fffb541-a203-48d1-a5d5-af4c950be948">400</ix:nonFraction> thousand, plus $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-3" name="efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA2MDA_506f28cb-c034-4745-9c2b-e2e28d68dd6e">51</ix:nonFraction> thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-3" name="efoi:PaymentsForClearingFees" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA3MDc_6024cff1-398e-4627-b02a-a43b407d9866">19</ix:nonFraction> thousand related to the offering. Total offering costs of $<ix:nonFraction unitRef="usd" contextRef="i9eb363c6d5c64b9cab13bd8c2ac85bb5_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjUzMTc_220bc068-eeb6-44d1-aad6-cc14590271d0">470</ix:nonFraction>&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $<ix:nonFraction unitRef="usd" contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA5OTI_cd15d5d4-e868-4efe-9155-05ecad1bd9e3">4.5</ix:nonFraction> million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Preferred Stock</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of the Convertible Notes, on January 16, 2020, following approval by our stockholders of certain amendments to the Certificate of Incorporation, the principal amount of all of the Convertible Notes and the accumulated interest thereon at the date of conversion (totaling $<ix:nonFraction unitRef="usd" contextRef="i6b533f191bba46238f4755579bff014b_D20200116-20200116" decimals="-5" name="efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5Nzc_66f37685-1d01-4999-b173-39049b25b8ea">1.8</ix:nonFraction> million) were converted at a conversion price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116" decimals="2" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5ODE_1037fc0d-ecdc-4514-844b-29f61393a5c4">0.67</ix:nonFraction> per share into an aggregate of <ix:nonFraction unitRef="shares" contextRef="i6b533f191bba46238f4755579bff014b_D20200116-20200116" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5ODU_a77d1017-fe13-42a5-87e0-768bcbef4932">2,709,018</ix:nonFraction> shares of the Company&#8217;s Series A Preferred Stock, which is convertible on a one-for-five basis into shares of our common stock. During the year ended December&#160;31, 2020, <ix:nonFraction unitRef="shares" contextRef="i5f579cbb1c984446a8eb1c108e231de1_D20200101-20201231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5ODk_4d1c807e-3761-4074-a007-456cd2837578">111,548</ix:nonFraction> shares of the Series A Preferred Stock were converted into <ix:nonFraction unitRef="shares" contextRef="i1ce2ebfacfc44de5aa6097399cebb658_D20200101-20201231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5OTU_a22a3674-f303-425f-84c8-66c97d0ddeae">22,310</ix:nonFraction> shares of common stock. During the year ended December&#160;31, 2021, <ix:nonFraction unitRef="shares" contextRef="iaa5b42f29fe84c538a08e2001f41f572_D20210101-20211231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0Njc4Mjk_f10c6980-9a19-4794-91f4-7dad60f80ce2">1,721,023</ix:nonFraction> shares of Series A Preferred Stock were converted into <ix:nonFraction unitRef="shares" contextRef="i059252fc965140ddb0415c20605988f6_D20210101-20211231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0Njc4MzM_67ee8d08-a64c-4e3b-ada8-9660f3613519">344,205</ix:nonFraction> shares of common stock. The Series A Preferred Stock that was converted in 2021 was held by a Schedule 13D ownership group (under Section 13(d)(3) of the Securities Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder) that includes Fusion Park LLC (&#8220;Fusion Park&#8221;) and 5 Elements Global Fund L.P. (controlled affiliates of James Tu, the Company's former Executive Chairman and Chief Executive Officer and current member of the Board of Directors), as well as Brilliant Start Enterprise Inc. (&#8220;Brilliant Start&#8221;) and Jag International Ltd. (controlled affiliates of Gina Huang, a member of the Company's Board of Directors). Upon conversion of their respective shares of Series A Preferred Stock in 2021, Fusion Park and Brilliant Start received <ix:nonFraction unitRef="shares" contextRef="if45ec14e9ce748d5b1610444fdeb4d51_I20211231" decimals="INF" name="us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzc2OTY1ODE0Mzg0NDg_9a207d40-be32-4e11-b9e8-c25dc0643eb5">184,851</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="ice689795aade4dbcb35b5c7de8b74255_I20211231" decimals="INF" name="us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzc2OTY1ODE0Mzg0NTc_6e278c56-ba5c-4ee9-9a20-6f74d2eb4809">159,354</ix:nonFraction> shares, respectively, of the Company&#8217;s common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March&#160;29, 2019, which designated <ix:nonFraction unitRef="shares" contextRef="i0d6ab6cb7de94ed9a7277e48db2a6d3f_I20190329" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjQwMDM_55dabd02-edff-4133-acf3-01e6c11e370e">2,000,000</ix:nonFraction> shares of the Company&#8217;s preferred stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="i0d6ab6cb7de94ed9a7277e48db2a6d3f_I20190329" decimals="4" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzc2OTY1ODE0Mzg0NjY_3d2be894-899d-409a-9113-db6043499fb9">0.0001</ix:nonFraction> per share, as Series A Preferred Stock (the &#8220;Original Series A Certificate of Designation&#8221;). On January 15, 2020 with prior stockholder approval, the Company amended the Certificate of Incorporation to increase the number of authorized shares of preferred stock to <ix:nonFraction unitRef="shares" contextRef="i039b65941c61462bb4170186675a9752_I20200115" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNDg_d2fb8f1b-45d9-4554-ab62-798371e0c339">5,000,000</ix:nonFraction>. The Original Series A Certificate of Designation was also amended on January 15, 2020, to increase the number of shares of preferred stock designated as Series A Preferred Stock to <ix:nonFraction unitRef="shares" contextRef="ie67bfb806db345368ab13b6a42410e59_I20200115" decimals="INF" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjQwMDc_ed0c6d62-7bee-4f69-8997-b31c7d261b44">3,300,000</ix:nonFraction> (the Original Series A Certificate of Designation, as so amended, the &#8220;Series A Certificate of Designation&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall entitle its holder to a number of votes equal to <ix:nonFraction unitRef="number" contextRef="i8da533426d38478db66b1164a4ea4e2d_D20200116-20200116" decimals="4" name="efoi:PercentageOfSeriesAPreferredStockEligibleToVote" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNDA_6e9b6097-a41f-4ab7-babb-ee1924e06a3b">11.07</ix:nonFraction>% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock (a) has a preference upon liquidation equal to $<ix:nonFraction unitRef="usdPerShare" contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116" decimals="2" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjQwMTE_1037fc0d-ecdc-4514-844b-29f61393a5c4">0.67</ix:nonFraction> per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. On March 29, 2019, the Company also filed a Certificate of Elimination with respect to its authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of undesignated preferred stock available for designation as Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase agreement related to the Convertible Notes contained customary representations and warranties and provided for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1-for-5 Reverse Stock Split</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 11, 2020, in accordance with previous stockholder approval, our Board of Directors effected a 1-for-5 reverse stock split of the Company&#8217;s common stock, par value $<ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3Mzg_74458553-a1cc-466f-b886-9ddfba0580af"><ix:nonFraction unitRef="usdPerShare" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3Mzg_7762a891-96c7-4781-af14-09f7bacecebe">0.0001</ix:nonFraction></ix:nonFraction> per share. The reverse stock split became effective at the Effective Time upon the filing of the Certificate of Amendment to the Certificate of Incorporation with the Delaware Secretary of State. At the Effective Time, every five shares of common stock issued and outstanding automatically combined into one validly issued, fully paid and non-assessable share of common stock. No fractional shares were issued as a result of the reverse stock split. The fractional shares were settled in cash in an amount not material to the Company. The $<ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3NDI_74458553-a1cc-466f-b886-9ddfba0580af"><ix:nonFraction unitRef="usdPerShare" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3NDI_7762a891-96c7-4781-af14-09f7bacecebe">0.0001</ix:nonFraction></ix:nonFraction> par value per share of </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i4301cba512cc4525941c99d8c2a0f852" continuedAt="i49349adf8bfa43e1a2efdeb6b737470c"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">common stock and other terms of the common stock were not affected by the reverse stock split. The number of authorized shares of common stock under the Certificate of Incorporation remained unchanged at <ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3NDY_6413abbc-6581-48f7-b400-f9da90f93a79">50,000,000</ix:nonFraction> shares.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proportional adjustments were made to the conversion and exercise prices of our outstanding warrants and stock options, and to the number of shares issued and issuable under our stock incentive plans in connection with the reverse stock split. The financial statements for the twelve months ended December&#160;31, 2020 have been retroactively adjusted to reflect the reverse stock split. Preferred shares outstanding were not affected by the reverse stock split and, as such, those shares have not been adjusted.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The reverse stock split was effected solely to increase the per share trading price of the common stock to satisfy the $1.00 minimum bid price requirement pursuant to Nasdaq Listing Rule 5550(a)(2) for continued listing on Nasdaq. The common stock began trading on Nasdaq on a split-adjusted basis at the opening of trading on June 12, 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">January 2020 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we completed a registered direct offering for the sale of <ix:nonFraction unitRef="shares" contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzUyNDI_96944119-2c05-4829-8a92-a769b36bd98e">688,360</ix:nonFraction> shares of our common stock to certain institutional investors, at a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjUzMDk_c8b17138-b864-41e9-85f5-6fe3911175d1">3.37</ix:nonFraction> per share. We also sold, to the same institutional investors, warrants to purchase up to <ix:nonFraction unitRef="shares" contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzU0MjM_96944119-2c05-4829-8a92-a769b36bd98e">688,360</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE5MDc_6437e49a-95e9-4683-9cf4-fedb35f36bb2">3.37</ix:nonFraction> per share (the, &#8220;Investor Warrants&#8221;) in a concurrent private placement for a purchase price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i0bc7e1aeb5a14658bf73734e7e6794b3_D20200101-20200131" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzU1NDQ_aba8fbf7-7a0a-4c6c-b13f-5c557ee681d0">0.625</ix:nonFraction> per warrant. We paid the placement agent commissions of $<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-3" name="efoi:PaymentsForPlacementAgentCommissions" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNzU_8df80295-51d6-4dd3-9e70-5b0a9544bb20">193</ix:nonFraction>&#160;thousand plus $<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-3" name="efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzOTA_b3ba0418-736f-49df-9d17-167aa9bf4b42">50</ix:nonFraction>&#160;thousand in expenses in connection with the registered direct offering and the concurrent private placement and we also paid legal, accounting and other fees of $<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-3" name="efoi:PaymentsForClearingFees" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM0MDQ_45f1c2b3-3260-49f5-b0c6-0f42dbb860c5">231</ix:nonFraction>&#160;thousand related to the offering. Total offering costs of $<ix:nonFraction unitRef="usd" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE4OTk_4e14594e-4687-47bf-90b2-7e06285eb593"><ix:nonFraction unitRef="usd" contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231" decimals="-3" name="us-gaap:PaymentsOfStockIssuanceCosts" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE4OTk_b45f45f8-3562-4911-aef0-5f8729a2f25e">510</ix:nonFraction></ix:nonFraction>&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020. In addition, we issued warrants to the placement agent to purchase up to <ix:nonFraction unitRef="shares" contextRef="i51fd134972bb49a29fb470ad962be792_I20200131" decimals="INF" name="us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYwNzA_de9561d7-bb91-484e-9d9a-fb8b4a5fdd07">48,185</ix:nonFraction> shares of common stock at an exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i51fd134972bb49a29fb470ad962be792_I20200131" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYxMjA_e4c6e965-96c9-4d57-a254-3148b7b1eadc">4.99</ix:nonFraction> per share (together with the Investor Warrants, the &#8220;January 2020 Warrants&#8221;). Net proceeds to us from the sale of common stock and January 2020 Warrants were approximately $<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-5" name="efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYyMTU_87c1ae1e-c91f-4df2-9002-0403fbab0714">2.3</ix:nonFraction> million. In accordance with the terms of the Iliad Note, <ix:nonFraction unitRef="number" contextRef="ie16f6e9c23a64c85a13cf785e1723ae8_D20191125-20191125" decimals="2" name="efoi:DebtInstrumentProceedsToBePaidToLenderPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYyNjc_f9de09ba-25df-44e8-9c24-a9d07de31b7f">10</ix:nonFraction>% of the gross proceeds from the January 2020 Equity Offering ($<ix:nonFraction unitRef="usd" contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131" decimals="-3" name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYzMzE_2b7cd007-41a8-4a09-ae2c-e38356233bf3">275</ix:nonFraction>&#160;thousand) were used to make payments on the Iliad Note, of which $<ix:nonFraction unitRef="usd" contextRef="i22379ce6d882415580b9a3b1a8bb4ca4_D20200101-20200131" decimals="-3" name="us-gaap:RepaymentsOfNotesPayable" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYzOTA_e500e83b-5448-467a-99d5-5ef53d762875">226</ix:nonFraction>&#160;thousand went towards the outstanding principal amount and the balance to interest.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">January 2020 Warrants issued to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="i22825782b9084bab96299f33f2d30063_D20211001-20211231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg3OTQ_298e9941-1f77-4800-b51c-42f608ea5895">229,414</ix:nonFraction> shares remain outstanding at December&#160;31, 2021, with a weighted average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i8628db2e2b61425aaaf641132a92d948_I20211231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg4NzM_9bd61e30-6215-40de-95ea-74aa11f5c2ce">3.67</ix:nonFraction> per share. During the twelve months ended December&#160;31, 2021, <ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg5MjQ_9f314766-7ef8-4a65-9d08-28ee5794f84e">237,892</ix:nonFraction> January 2020 Warrants issued were exercised resulting in total proceeds of $<ix:nonFraction unitRef="usd" contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231" decimals="-3" name="us-gaap:ProceedsFromWarrantExercises" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg5ODM_b36444bc-b13a-43af-ae97-33d1de77e8c5">801</ix:nonFraction> thousand. The exercise of the remaining January 2020 Warrants outstanding could provide us with cash proceeds of up to $<ix:nonFraction unitRef="usd" contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231" decimals="-3" name="efoi:EstimatedProceedsFromIssuanceOfWarrants" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkwODQ_d0da7db5-3f16-44e1-9731-42b4acb51a5f">841</ix:nonFraction> thousand in the aggregate. At December&#160;31, 2020, January 2020 Warrants issued to purchase an aggregate of <ix:nonFraction unitRef="shares" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkxNTE_99f41283-bbc7-4bfc-b9c5-5bf0a86eaa43">467,306</ix:nonFraction> shares remained outstanding, with a weighted average exercise price of $<ix:nonFraction unitRef="usdPerShare" contextRef="i6d86f65a6e1049119ca2876d0ea6c6ad_I20201231" decimals="2" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNTk_9a25ff87-d323-43d3-a588-59dae2dd1e9e">3.51</ix:nonFraction> per share. During the twelve months ended December&#160;31, 2020, <ix:nonFraction unitRef="shares" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNjY_396eb4d0-5817-4ae3-ab70-ee7ce7b708db">269,240</ix:nonFraction> January 2020 Warrants issued were exercised, resulting in total proceeds of $<ix:nonFraction unitRef="usd" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="-3" name="us-gaap:ProceedsFromWarrantExercises" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkzNDE_9b8fa5d9-bc02-42c3-b627-6a959530c91e">918</ix:nonFraction> thousand.</span></div><ix:continuation id="i521fa859a05e45efaabcaf324990d74a"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021 and 2020, we had the following outstanding January 2020 Warrants to purchase shares of common stock:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:32.379%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.736%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.548%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2021</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Investor Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9eb363c6d5c64b9cab13bd8c2ac85bb5_D20210101-20211231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzEtMS0xLTEtMA_e6638e1a-23ca-4390-b62a-d1ec87dfcc67">187,734</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i0b61d3a9fe984b6a9d1b2ff8efa7f893_D20200101-20201231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzItMy0xLTEtMjU2MDY_a58370fd-df0f-4722-9497-eeab368a9cd2">425,626</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131" decimals="2" name="us-gaap:SaleOfStockPricePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzEtMy0xLTEtMA_c8b17138-b864-41e9-85f5-6fe3911175d1">3.3700</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Placement Agent Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i149c27d4dc1e4b969f84c426a927615e_D20210101-20211231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzItMS0xLTEtMA_96cc6629-c362-4517-b2d2-70fcbab21ae8">41,680</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i71cce42cc1484ca4b4f4cd609827ebd4_D20200101-20201231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzMtMy0xLTEtMjU2MDY_19339e31-9782-4819-98e5-a4444e20539f">41,680</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="i51fd134972bb49a29fb470ad962be792_I20200131" decimals="4" name="us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzItMy0xLTEtMA_2ecc828a-5637-495e-afe3-1b70f2fdf433">4.9940</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzMtMS0xLTEtMA_20877285-37f4-4e50-881d-ca61a1325ebc">229,414</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231" decimals="INF" name="efoi:ClassOfWarrantOrRightWarrantsIssued" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzQtMy0xLTEtMjU2MDY_99f41283-bbc7-4bfc-b9c5-5bf0a86eaa43">467,306</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div></ix:continuation><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Warrant Classification</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for common stock warrants as either liabilities or equity instruments depending on the specific terms of the warrant agreement. Common stock warrants that could require cash settlement are accounted for as liabilities and are revalued at fair value at each balance sheet date subsequent to the initial issuance. Changes in the fair market value of the warrant are reflected in the consolidated statement of operations as income (expense) based upon the change in fair value of warrants. Common stock warrants without cash settlement provisions are accounted for as equity and re-measurement at each balance sheet date is not required.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i49349adf8bfa43e1a2efdeb6b737470c" continuedAt="if7d0618d8d434fb5a2acb47023806613"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The January 2020 Warrants we issued in the January 2020 Equity Offering contained a provision for net cash settlement in the event that there is a fundamental transaction involving the Company (e.g., merger, sale of substantially all assets, tender offer, or share exchange). Due to this provision, the January 2020 Warrants were initially classified as liabilities, as opposed to equity, and were recorded at their fair values at each balance sheet date with fair value adjustments recognized as a component of earnings. During December 2020, the warrant holders agreed to a modification of the terms of their January 2020 Warrants which removed the potential cash settlement option upon the occurrence of a fundamental transaction. As such, during the fourth quarter of 2020, the warrant liability was fair-valued through the modification date and then was reclassified into equity and the January 2020 Warrants are no longer subject to re-measurement at each balance sheet date.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 18, 2020, our Board of Directors approved the Energy Focus, Inc. 2020 Stock Incentive Plan (the &#8220;2020 Plan&#8221;). The 2020 Plan was approved by the stockholders at our annual meeting on September 17, 2020, after which no further awards could be issued under the Energy Focus, Inc. 2014 Stock Incentive Plan (the &#8220;2014 Plan&#8221;). The 2020 Plan initially allows for awards up to <ix:nonFraction unitRef="shares" contextRef="i65b971ea9cb44fb1888185cc19c4389b_I20200318" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzkwMDU_e5bf26aa-5eac-44c8-bc6b-25246b245730">350,000</ix:nonFraction> shares of common stock and expires on September 17, 2030. At December&#160;31, 2021, <ix:nonFraction unitRef="shares" contextRef="i387ac9a58bdc4026beffdfb1ef037acc_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzkwNzM_c022946c-6d55-48ca-bc2d-338a7dfefd3e">208,256</ix:nonFraction> shares remain available to grant under the 2020 Plan.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 6, 2014, our Board of Directors approved the 2014 Plan. The 2014 Plan was approved by the stockholders at our annual meeting on July 15, 2014, after which no further awards could be issued under the Energy Focus, Inc. 2008 Incentive Stock Plan (the &#8220;2008 Plan&#8221;). The 2014 Plan initially allowed for awards up to <ix:nonFraction unitRef="shares" contextRef="i7bacc12348f04b6b82d1e7cf2cc8522a_I20140506" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzk0NTE_18d869fd-ec29-42af-a88f-cc065600951c">120,000</ix:nonFraction> shares of common stock and expires on July 15, 2024. On July 22, 2015, the stockholders approved an amendment to the 2014 Plan to increase the shares available for issuance under the 2014 Plan by an additional <ix:nonFraction unitRef="shares" contextRef="ie730505241d0471ab9e4023d57877882_I20150722" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzk2NjQ_8541b39f-3b09-443c-ac4f-4def03785d2d">120,000</ix:nonFraction> shares. On June 21, 2017, the stockholders approved an amendment to the 2014 Plan to increase the shares available for issuance under the 2014 Plan by an additional <ix:nonFraction unitRef="shares" contextRef="i07c496a5a92a442992762b34c8bacd5a_I20170621" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzk4MzI_f60cd2bb-41a5-4453-a7aa-2157546d57f0">260,000</ix:nonFraction>. No awards may be granted under this plan.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have one other historical equity-based compensation plan under which options are currently outstanding; however, no new awards may be granted under this plan. Generally, stock options are granted at fair market value and expire <ix:nonNumeric contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTEw_cb894016-ffb9-46f7-b830-e8963675d100">ten years</ix:nonNumeric> from the grant date. Employee grants generally vest in <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTY4_e102dd0f-9627-4c4e-9b7d-2411cb446505">three</span> or <ix:nonNumeric contextRef="ia925f79fe3284c5f925333ca8b9f3106_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTc0_ea42d01d-3a85-4387-a75b-4c526a9cd79a">four years</ix:nonNumeric>, while grants to non-employee directors generally vest in <ix:nonNumeric contextRef="iac0e4d7075a24ca4b7b32fc505ef4218_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMjM1_90eabfb8-10c2-461f-b434-8cdd15cc5c45">one year</ix:nonNumeric>. The specific terms of each grant are determined by our Board of Directors. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is attributable to stock options and restricted stock unit awards. For all stock-based awards, we recognize compensation expense using a straight-line amortization method.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTgx_c5577462-efcf-4835-8ec7-924ee5043bb5" escape="true"><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7530d5d0a4b940f8a3fee319d6c0119c_D20210101-20211231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzItMS0xLTEtMA_bfe3a62f-09fa-4d19-bb1c-548856d08964">9</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i46e851f19f78458995019a8807d5fab2_D20200101-20201231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzItMy0xLTEtMA_7599394a-0dd3-48d1-8ca1-c50b345b501b">2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i28e104dced94438ca18c6fb5046f60d6_D20210101-20211231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzMtMS0xLTEtMA_25ebf82e-e646-46b3-a970-8d760e9f8438">14</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0b262df8d9b345bb978f20a584580126_D20200101-20201231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzMtMy0xLTEtMA_ca4b9cf8-9312-4c65-aa6f-679d4179a8d2">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="iebf94b633dc7494fb3a642b04e637101_D20210101-20211231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzQtMS0xLTEtMA_6a9ab53d-74d6-402c-83bd-4d0ccc946674">406</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i0c87840ee3e94c09a9151682c9375c17_D20200101-20201231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzQtMy0xLTEtMA_f0a65ebe-48cd-464c-ac8f-d7f6146fb9d6">119</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzUtMS0xLTEtMA_72dab8d0-40e2-48c7-812b-059485b2a9d2">429</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzUtMy0xLTEtMA_a65e94d0-4e62-482d-8772-e4ad26bdafd2">131</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021 and 2020, we had unearned stock compensation expense of $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwNzM0_be730af4-eeb0-4934-8732-ea82ef3e5831">0.3</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwNzQx_93721402-f5c4-47b7-8bbb-6ba2a210a521">0.2</ix:nonFraction> million, respectively. These costs will be charged to expense and amortized on a straight-line basis in subsequent periods. The remaining weighted average period over which the unearned compensation is expected to be amortized was approximately <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTgx_e1fc8bb4-9884-47d5-83e5-546c4d039228">2.7</ix:nonNumeric> years as of December&#160;31, 2021 and <ix:nonNumeric contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM0MzQ_43ee7cfe-bfa5-4a00-b75b-f3823166699a">3.1</ix:nonNumeric> years as of December 31, 2020.&#160;</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="if7d0618d8d434fb5a2acb47023806613" continuedAt="i8105ff92175e4b42bb306ad2374335ef"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock options</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of each stock option is estimated on the date of grant using the Black-Scholes option pricing model. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTgy_7f5e8c7a-348e-4f0e-936b-1e573fa94a48" continuedAt="ief05d35ab0db4d488065c6932477528b" escape="true">Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further comparatively detailed as follows:</ix:nonNumeric></span><ix:continuation id="ief05d35ab0db4d488065c6932477528b"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of options issued</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzEtMS0xLTEtMA_e0095a4d-074a-4abc-a0e7-18a458418438">3.92</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzEtMy0xLTEtMA_92f6efbf-151b-41f9-8c13-a24dba51c821">2.06</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercise price</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i33ae864acc864d8381b7945d803c40b2_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzItMS0xLTEtMA_e1bfe0a5-e68c-4db6-b626-0b394f457ed1">5.07</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i361a0747e00b4bdca00c2cd4f646d038_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzItMy0xLTEtMA_68b397f6-2b81-4600-a6b9-5b150d5d05d1">2.68</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected life of option (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzMtMS0xLTEtMA_b52d9204-2ad7-43e8-bbb9-06c951a7d60b">6.2</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzMtMy0xLTEtMA_f4ef22df-bdac-4a59-92aa-a43e9c158184">6.1</ix:nonNumeric></span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzQtMS0xLTEtMA_a62eb377-dad0-4843-85ce-279ba85a6a43">0.9</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzQtMy0xLTEtMA_695a9b99-425d-4e72-b4a3-54d64bded571">0.7</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzUtMS0xLTEtMA_5398997c-1f43-462c-b940-98a70eff1346">96.3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231" decimals="3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzUtMy0xLTEtMA_bd7283d5-046a-4993-a0a1-d1fce902889c">93.6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzYtMS0xLTEtMA_5f4b801d-7d34-4632-a7c4-61e1d834fceb">0.00</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzYtMy0xLTEtMA_c2f82bf2-791f-4586-82d9-c2b4dd0cfd7b">0.00</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></ix:continuation></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We utilize the simplified method as provided by ASC 718-10 to calculate the expected stock option life. Under ASC 718-10, the expected stock option life is based on the midpoint between the vesting date and the end of the contractual term of the stock option award. The use of this simplified method in place of using the actual historical exercise data is allowed when a stock option award meets all of the following criteria: the exercise price of the stock option equals the stock price on the date of grant; the exercisability of the stock option is only conditional upon completing the service requirement through the vesting date; employees who terminate their service prior to the vesting date forfeit their stock options; employees who terminate their service after vesting are granted a limited time period to exercise their stock options; and the stock options are nontransferable and non-hedgeable. We believe that our stock option awards meet all of these criteria. The estimated expected life of the option is calculated based on contractual life of the option, the vesting life of the option, and historical exercise patterns of vested options. The risk-free interest rate is based on U.S. treasury zero-coupon yield curve on the grant date for a maturity similar to the expected life of the option. The volatility estimates are calculated using historical volatility of our stock price calculated over a period of time representative of the expected life of the option. We have not paid dividends in the past, and do not expect to pay dividends over the corresponding expected term as of the grant date.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding under all plans at December&#160;31, 2021 have a contractual life of <ix:nonNumeric contextRef="i3306e536994743e4b413b7eb48ec9a95_D20210101-20211231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDQz_54685b1c-da49-4420-a3ac-9dab6f8d552d">ten years</ix:nonNumeric>, and vesting periods between <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDc1_49d4c02d-9dbd-42f5-ad55-56f087c1ed05">one</span> and <ix:nonNumeric contextRef="i58c0cbc5622644c099d0a66e73a0c7cb_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDgy_dde1628d-8376-4e05-8869-65c3304357b8">four years</ix:nonNumeric>. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE1MDA3_fec5386d-f610-43ac-907c-f87e288ab751" continuedAt="i436748da6b3e4d818effdf1e9c996102" escape="true">A summary of option activity under all plans was as follows:</ix:nonNumeric></span></div><div style="margin-bottom:10pt"><ix:continuation id="i436748da6b3e4d818effdf1e9c996102"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:61.509%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.228%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.230%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of<br/>Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise Price<br/>Per Share</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2019</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMwLTEtMS0xLTA_6963d47b-063b-491c-93bf-24315775d6e8">155,031</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMwLTMtMS0xLTA_8fa087d5-01e4-48af-aab4-8df28db69d13">5.23</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMxLTEtMS0xLTA_7d1cb1c4-5676-4664-9077-7280511f8d78">112,350</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMxLTMtMS0xLTA_154827a1-d567-4f3c-aa3e-2d0d102fa161">2.68</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMyLTEtMS0xLTA_82fb3bd8-959d-4808-9f56-73986bedf2fe">33,774</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMyLTMtMS0xLTA_14043e9e-dc45-4d5d-b2c6-a0d11ddc6358">9.56</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM0LTEtMS0xLTA_d213dc3b-fb37-4333-8c3d-061de1a1fef9">12,157</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM0LTMtMS0xLTA_b2359492-05b2-4a2b-b3f1-5182f49ed15c">2.11</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2020</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM1LTEtMS0xLTA_f9476f13-90d8-4a2f-927f-82d88ba7e4ca">221,450</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM1LTMtMS0xLTA_4e21a3c1-f4b8-4f82-81ea-373343904a35">3.45</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM2LTEtMS0xLTM2MzQx_c24af7bf-0137-4265-8dc1-a8211efe5c5f">88,240</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM2LTMtMS0xLTM2MzUx_1eba84ec-bddf-4211-b0b4-cdc93a3b0843">5.07</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM3LTEtMS0xLTM2MzQx_af52a9b1-74a2-438d-8198-2f1a26dd2461">36,706</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM3LTMtMS0xLTM2MzUx_33e100db-8f82-48c6-acd1-6a2fbedfe432">5.35</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM4LTEtMS0xLTM2MzQx_62b0f448-ce9a-4f6c-883e-ccdf4b9ceb48">1,650</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM4LTMtMS0xLTM2MzUx_030006d8-78e9-40d5-931d-f1d158d47b3b">49.18</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM5LTEtMS0xLTM2MzQx_5157bfe8-9843-410f-8a80-7b30df504786">4,225</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM5LTMtMS0xLTM2MzUx_33a88300-0610-4105-8881-2e74b95af5f4">1.96</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzQwLTEtMS0xLTM2MzQx_e2ea6c79-4991-49f9-bdba-319bd0775bbb">267,109</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzQwLTMtMS0xLTM2MzUx_c8bd115c-50c3-440d-a362-8760c1008f91">3.46</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and expected to vest at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM3LTEtMS0xLTA_daa50540-f616-4fba-83aa-bf9e9c9aaeaa">231,462</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM3LTMtMS0xLTA_8bae0258-8214-4637-9947-a801099abc0f">3.41</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM5LTEtMS0xLTA_6bc8c2ed-13b7-409a-9906-7d3c50a3e7a4">92,121</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM5LTMtMS0xLTA_ebf59b80-3920-4784-8aa8-657b1cf62906">3.28</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></ix:continuation></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The &#8220;Expected to Vest&#8221; options are the unvested options that remain after applying the pre-vesting forfeiture rate assumption to total unvested options. <ix:nonFraction unitRef="shares" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkzODk_8943846e-c5ff-4a0b-8727-806024fdb6c5">4,225</ix:nonFraction> options were exercised during 2021 and <ix:nonFraction unitRef="shares" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkzOTc_12d0b58e-71f0-4899-9320-352fd3b22856">12,157</ix:nonFraction> options were exercised during 2020. The total intrinsic value of options outstanding and options exercisable at December&#160;31, 2021 was $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzNDY3_76b3fdf3-7ff3-4166-a898-98245d1a1294">426</ix:nonFraction> thousand and $<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzNDc0_1ab21662-c775-40e6-89f9-4f4f62958ee7">191</ix:nonFraction> thousand, respectively, which was calculated using the closing stock price at the end of the year of $<ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="2" name="us-gaap:SharePrice" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzNTY5_66c3dc87-4f45-4736-b6f5-3e68e9536bb8">4.27</ix:nonFraction> per share less the option price of the in-the-money grants.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i8105ff92175e4b42bb306ad2374335ef"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTkx_7a4f8a24-9bf8-43bc-8677-28ec70a35230" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The options outstanding at December&#160;31, 2021 have been segregated into ranges for additional disclosure as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:6.095%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.424%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.801%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.234%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.262%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.262%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.381%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.262%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.975%"></td><td style="width:0.1%"></td></tr><tr><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">OPTIONS OUTSTANDING</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">OPTIONS EXERCISABLE</span></td></tr><tr><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Range of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exercise Prices</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares Outstanding</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual Life (in years)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares Exercisable</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual Life (in years)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMC0xLTEtMA_2986c29b-369a-48b4-8084-8385127de9a8">1.45</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMi0xLTEtMA_f2d5cc92-10ad-4863-8884-f6a9b7284408">1.68</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic57470dbd9284ff19748ce19ff94496c_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItNC0xLTEtMA_b3fe376d-17e6-4798-a2f8-f4e66bc98d62">69,377</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItNi0xLTEtMA_96fe3ff6-a716-4692-ac20-7341ab11c4c5">8.2</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic57470dbd9284ff19748ce19ff94496c_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItOC0xLTEtMA_127176dc-4fe0-43ac-a377-bb883812e5e9">1.49</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic57470dbd9284ff19748ce19ff94496c_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMTAtMS0xLTA_f14d736c-2a71-410f-86af-739e63efb171">27,078</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMTItMS0xLTA_c589a57d-a7e8-4ba6-a4dd-dcff7cfbf436">8.1</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic57470dbd9284ff19748ce19ff94496c_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMTQtMS0xLTA_acea0d9b-7a18-456d-bd1b-8e5fb94d5aa7">1.49</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMC0xLTEtMA_cb8444f7-b50c-44dc-a0ee-3dbadec1ed71">1.69</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMi0xLTEtMA_e7b99828-032b-43e0-a367-0f7f561e5f0b">2.20</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3a34278eca8f4d409ee893f500388134_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtNC0xLTEtMA_3f0e495f-8717-441c-a5eb-6c65acbb2838">79,975</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtNi0xLTEtMA_4a42cf0e-bb7e-4263-9923-2e07659b1090">7.5</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3a34278eca8f4d409ee893f500388134_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtOC0xLTEtMA_2e07d658-b3c6-4a98-a875-6451ec3e1587">2.10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3a34278eca8f4d409ee893f500388134_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMTAtMS0xLTA_ca878f09-caf6-4c71-90a5-1cf791edd63a">43,900</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMTItMS0xLTA_4435650c-64bc-4fe3-bae5-3399ecacaa82">7.5</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3a34278eca8f4d409ee893f500388134_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMTQtMS0xLTA_dab9834b-6e6e-4e68-b8f0-1cdf40646a52">2.10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="i593f0909b228451192e79880916a76ca_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMC0xLTEtMA_d6fc0d4c-0c64-4760-a233-72463f17fb8a">2.21</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="i593f0909b228451192e79880916a76ca_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMi0xLTEtMA_eae28bca-a36f-4cc2-ab49-5a332f27809f">5.42</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtNC0xLTEtMA_b4f372ef-fcf0-457e-b5d4-c0829fe66da0">38,406</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i593f0909b228451192e79880916a76ca_D20210101-20211231" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtNi0xLTEtMA_f8066f1d-a2ee-4d4a-a342-00da3b2c783c">8.6</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtOC0xLTEtMA_53440148-f07d-4f17-9c21-c2f3aa23aeb1">2.77</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMTAtMS0xLTA_837c8f97-bef7-4c96-afeb-cfa1bb30272d">11,046</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i593f0909b228451192e79880916a76ca_D20210101-20211231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMTItMS0xLTA_01bdd421-3b29-450e-b89a-4ea6b2b7f6be">7.8</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMTQtMS0xLTA_3c8e478f-9e05-47b0-8808-e289ab42bbd9">2.46</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMC0xLTEtMA_b57cfc1c-b927-4cbe-945c-2c8e225fef80">5.43</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMi0xLTEtMA_dcbe6bcc-6437-484b-bab8-25491be3883e">5.81</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ifc072047745247858635e57c5e101cbb_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtNC0xLTEtMA_ee5c0d6a-f68a-4954-aedb-9dc5d419f93f">58,474</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtNi0xLTEtMA_90a36543-7b0d-42b3-a0fa-8f944a6ef341">9.1</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ifc072047745247858635e57c5e101cbb_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtOC0xLTEtMA_fa33cdf4-f209-4197-b7ba-8a71515fafc4">5.55</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ifc072047745247858635e57c5e101cbb_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMTAtMS0xLTA_7a03f596-d563-4a4c-bcc4-4309974e6a31">319</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMTItMS0xLTA_5e0e6f61-294e-4bee-adaf-1f643236e4ba">7.4</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ifc072047745247858635e57c5e101cbb_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMTQtMS0xLTA_aa3fd551-a982-4803-8040-56e953981789">5.52</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMC0xLTEtMA_7d1b59b8-bcbf-44cc-b73c-dd5dd5731eb9">5.82</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMi0xLTEtMA_f1721896-382f-4103-aaa2-b18ebff7c298">29.75</ix:nonFraction></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8574cf31460f42c09befbf3d94ba95f7_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtNC0xLTEtMA_693c0962-5b9f-46de-a1f5-b6419bdee9cc">20,877</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtNi0xLTEtMA_060822ae-0fb0-480a-bcdc-708ecc70ed36">7.5</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i8574cf31460f42c09befbf3d94ba95f7_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtOC0xLTEtMA_a1565dfa-bb4a-4adf-8e30-f9cd2063c612">10.69</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8574cf31460f42c09befbf3d94ba95f7_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMTAtMS0xLTA_af8c76e0-06e0-4667-8599-09cf88a37d6a">9,778</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMTItMS0xLTA_2ce5f1fd-012c-42bc-abfd-6ac8cdf67f3c">6.1</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i8574cf31460f42c09befbf3d94ba95f7_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMTQtMS0xLTA_f33bd242-5cb7-41df-8500-90362410c3d0">14.40</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctNC0xLTEtMA_5b85a11f-bb35-4ee2-a5e2-bb6b6966c5e0">267,109</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctNi0xLTEtMA_67be934a-841a-4ea5-b00f-7caae2c1988a">8.2</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctOC0xLTEtMA_1acd4e90-caaa-4054-aac8-5d15923aba4f">3.46</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctMTAtMS0xLTA_24837059-519e-4399-8097-a684f7a0363a">92,121</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctMTItMS0xLTA_4c6fb1c3-1c6d-4139-ba1d-70fc028be57d">7.6</ix:nonNumeric></span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="2" name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctMTQtMS0xLTA_edddec85-c0f4-41b7-bf20-12dd7c85d9df">3.28</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2015, we began issuing restricted stock units to certain employees and non-employee Directors under the 2014 Plan with vesting periods ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM1Mzc_8eee0c28-5471-4cde-b3a5-86abeeb1b29b">one</span> to <ix:nonNumeric contextRef="i4ff91b791919436d91bf7fecc7a86b8a_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM1NTA_720b99b9-4e8a-4bb9-92e2-8351ab958b64">four years</ix:nonNumeric> from the grant date. In 2020, we began issuing restricted stock units to certain employees and non-employee Directors under the 2020 Plan with vesting periods ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTQzMjU_2fa0f6e2-9267-4bc0-b4a7-1cbd6cb9c397">one</span> to <ix:nonNumeric contextRef="iec1f52178f0f4af09a01c9fc1a1d457d_D20210101-20211231" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTQzMzg_fe09b97f-746d-444a-9dd9-a89188025e06">four years</ix:nonNumeric>.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTc5_bfbb066c-db34-4dea-9a9f-696f0e859cf1" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows a summary of restricted stock unit activity:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restricted Stock Units Outstanding</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2019</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i683a1c383f14479db04e359bb44dc770_I20191231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzEzLTMtMS0xLTA_3b1ca5b2-3d7a-467f-a54c-60a26bed74c0">6,603</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i683a1c383f14479db04e359bb44dc770_I20191231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzEzLTUtMS0xLTA_13c2b540-9966-4741-8f40-c025cafe19f4">13.17</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE0LTMtMS0xLTA_ff35522d-c22c-4240-a203-2b84795a5463">19,200</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE0LTUtMS0xLTA_b7d3a2bf-4dab-44d5-8611-473347602ce1">2.44</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE1LTMtMS0xLTA_20e7877d-1e52-4294-9c28-c8b37c714927">20,068</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE1LTUtMS0xLTA_2a28dd4f-8bcf-4adf-9c7d-e5ae6a234e5f">3.96</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE2LTMtMS0xLTA_1ad7b3e7-defd-4bed-a9fc-cf3ee4494831">1,255</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE2LTUtMS0xLTA_7e11ae85-c5d2-419b-925d-24f90430ebec">12.40</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i3db4a53ab94249ca8f416d280f4a7609_I20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE3LTMtMS0xLTA_c79f82ad-2801-4271-86fb-ff4043eacf04">4,480</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i3db4a53ab94249ca8f416d280f4a7609_I20201231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE3LTUtMS0xLTA_9281268d-f3fd-4e16-bb77-df655e2e3d71">8.64</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE4LTMtMS0xLTM2NDY4_2a5b9e05-7ba6-4b17-8614-297bf1a5c847">50,000</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE4LTUtMS0xLTM2NDc1_59c68b89-d468-4dc6-b3aa-518aff7c29fd">5.26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE5LTMtMS0xLTM2NDY4_0044e7a5-2365-48fa-8a1b-8200d4d6d48c">52,080</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE5LTUtMS0xLTM2NDc1_01ab37b1-16e3-46d2-9f8c-168dc4b1ecc2">5.46</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2021</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i03d191cfe7f3499ea2b10ffec28cef54_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzIxLTMtMS0xLTM2NDY4_825bbdf2-08cb-4455-939a-2a15e8dae9a8">2,400</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="i03d191cfe7f3499ea2b10ffec28cef54_I20211231" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzIxLTUtMS0xLTM2NDc1_7df01bca-8d48-4221-9a59-02a3b89354ca">7.14</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Employee</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">stock</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">purchase</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">plans</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In September 2013, our stockholders approved the 2013 Employee Stock Purchase Plan (the &#8220;2013 Plan&#8221;) to replace the 1994 prior purchase plan. A total of <ix:nonFraction unitRef="shares" contextRef="i7798c1a139c1494fa683aabbf81de26c_I20130930" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0Mzg2_16bf9b34-16aa-48cf-8be0-10c390fe323d">100,000</ix:nonFraction> shares of common stock were provided for issuance under the 2013 Plan. The 2013 Plan permits eligible employees to purchase common stock through payroll deductions at a price equal to the lower of <ix:nonFraction unitRef="number" contextRef="id20d8b5e532d4b51a9331cef0c3ea1d0_D20130901-20130930" decimals="INF" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" format="ixt:num-dot-decimal" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0NTg2_5368def4-638d-4a3f-a7f6-346918d5846e">85</ix:nonFraction> percent of the fair market value of our common stock at the beginning or end of the offering period. Employees may end their participation at any time during the offering period, and participation ends automatically upon termination of employment with us. During 2021 and 2020, employees purchased <ix:nonFraction unitRef="shares" contextRef="i6f50781bec45435f94e2ce7929208a72_D20210101-20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njk0MTE_5df3fe5f-87e0-49d4-a1e7-3530375766e6">22,000</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="i6c1fd4cb5b294dc4831cd60414588dd6_D20200101-20201231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njk0MDc_a20c0d18-dfc2-44c6-8ac0-6ec79fb415b0">26,632</ix:nonFraction> shares, respectively. At December&#160;31, 2021, <ix:nonFraction unitRef="shares" contextRef="icd21d751952249369a1a2bdefc377188_I20211231" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTE0_58e2a804-ba45-4a6a-b77a-d492e7f92c54">28,523</ix:nonFraction> shares remained available for purchase under the 2013 Plan.</span></div></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_172"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 11. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI5NjM_b823d84c-118f-4e37-80dc-cdb20d71e1ec" continuedAt="ie6dfac78c9484f228599a66ad419b4d3" escape="true">INCOME TAXES</ix:nonNumeric></span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="ie6dfac78c9484f228599a66ad419b4d3" continuedAt="ifc14303ae398454f9f3b7645ad297930">We file income tax returns in the U.S. federal jurisdiction, as well as in various state and local jurisdictions. With few exceptions, we are no longer subject to U.S. federal, state, and local, or non-U.S. income tax examinations by tax authorities for years before 2018. Our practice is to recognize interest and penalties related to income tax matters in income tax expense when and if they become applicable. At December&#160;31, 2021 and 2020, respectively, there were <ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzQ3OA_7407a6ec-3d19-4ee6-927a-74f69aa275b7"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzQ3OA_a8e3e2ea-f5bd-4ec0-ac81-b94430016fd1">no</ix:nonFraction></ix:nonFraction> accrued interest and penalties related to uncertain tax positions.&#160;</ix:continuation></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="ifc14303ae398454f9f3b7645ad297930" continuedAt="i84cf955ee3174604806cf7a2108bf456"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI5NDE_139d951b-03a8-4cb7-99f6-86c1fbec60dd" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of the provision for income taxes (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzQtMS0xLTEtMA_34155b17-9ef2-42c6-a87b-aae6038b4a4a">1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzQtMy0xLTEtMA_08ecf0f3-2105-49d5-a567-451e90130ea4">5</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Deferred:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzctMS0xLTEtMA_d139c14e-74f8-4bac-95b0-d98c6d17b724">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzctMy0xLTEtMA_2c0f705e-b6e0-49a0-a21d-70e96124e814">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(Benefit from) provision for income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzEwLTEtMS0xLTA_2c7f6796-3d42-4e18-b38b-7650108af272">1</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" sign="-" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzEwLTMtMS0xLTA_f6c6c6ee-874b-41e1-952f-08e603fd9ccd">5</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI5NjU_2e8b2452-cc44-42f5-9464-8de9b2e840d1" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The principal items accounting for the difference between income taxes computed at the U.S. statutory rate and the (benefit from) provision for income taxes reflected in our Consolidated Statements of Operations are as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. statutory rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzItMS0xLTEtMA_5ebb0628-ede3-4d69-b117-42b80408c951">21.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzItMy0xLTEtMA_edf52fe5-d154-4e1b-b0a3-30213ff9cbde">21.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes (net of federal tax benefit)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzMtMS0xLTEtMA_d6cfaf6f-92b8-4a78-899b-617070cf5dba">9.7</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzMtMy0xLTEtMA_ca1ca422-6dd0-47c5-81fa-b4ea3f8ef225">5.6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzQtMS0xLTEtMA_8d4bf8e6-0b8c-4ddc-8247-161913c5a0ac">32.7</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzQtMy0xLTEtMA_f753dc28-2d99-4ae1-a039-6bb59106c484">26.0</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzYtMS0xLTEtMA_76d96878-86c3-4c97-b11e-a0f96378d502">2.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzYtMy0xLTEtMA_59245df3-b389-4562-872b-d12317c45c26">0.5</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzctMS0xLTEtMA_0164fb69-605e-486f-b349-d828e9942e22">0.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzctMy0xLTEtMA_8d9f2b9b-3e05-4619-977b-978f318cf14b">0.1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI5NjE_65a7e266-e2d4-4a31-94a4-0c18b9228717" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The tax effects of temporary differences that give rise to significant portions of the deferred tax assets are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses and other reserves</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzItMS0xLTEtMA_00028a21-9586-4362-a873-96eaf72c3e0b">1,550</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzItMy0xLTEtMA_db0e392c-f953-47e3-ac80-a37a03ca86da">1,787</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use-asset</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzMtMS0xLTEtMA_3b5a4d51-1d04-49a7-b96b-406bcfa0f906">73</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzMtMy0xLTEtMA_be51d868-b8be-4a32-a29a-3cdb036bc3ec">225</ix:nonFraction>)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:DeferredTaxAssetsLeasingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzQtMS0xLTEtMA_c28138da-5190-4482-879f-fd8fc9741414">88</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="efoi:DeferredTaxAssetsLeasingArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzQtMy0xLTEtMA_261ce359-9f81-4003-8b3a-df1bcb76ab02">271</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax credits, deferred R&amp;D, and other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzUtMS0xLTEtMA_3c97ec14-3b20-4eda-825f-3e5c68d2cc33">49</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzUtMy0xLTEtMA_15508431-c832-47e2-adb5-18c40a4a6d3e">20</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzYtMS0xLTEtMA_5f63f993-abfa-4418-9926-a8e54c2620c3">17,318</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzYtMy0xLTEtMA_13c1aac2-e8bd-4f38-b70e-a2784481164f">14,510</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzctMS0xLTEtMA_ff8d0104-0c66-4b37-840e-c9ab988e7d0d">18,932</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzctMy0xLTEtMA_dca334b7-177a-448f-a4ba-c5b25929f084">16,363</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net deferred tax assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzgtMS0xLTEtMA_f7461ed9-07e8-47fc-b9e0-b7b6eb6e2598">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-3" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzgtMy0xLTEtMA_f91738d2-7ce0-481a-9564-4d0374ecdb51">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2021, our effective tax rate was lower than the statutory rate due to an increase in the valuation allowance as a result of the $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzExNTU_f47e7064-5453-4b23-bea2-4103ff6fbcf3">9.6</ix:nonFraction> million additional federal net operating loss we recognized for the year. In 2020, our effective tax rate was lower than the statutory rate due to an increase in the valuation allowance of the $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEzNDE_7fe16a4e-2f45-4a28-9129-55941c6e22e1">7.1</ix:nonFraction> million additional federal net operating loss we recognized for the year.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, we had net operating loss carry-forwards (&#8220;NOLs&#8221;) of approximately $<ix:nonFraction unitRef="usd" contextRef="i1f2d9a1ca0ff499ea1c3689f9f2e0d62_I20211231" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4NjM_ff134b51-2888-41af-a986-f9c651d58373">125.4</ix:nonFraction> million for federal income tax purposes ($<ix:nonFraction unitRef="usd" contextRef="i9f4bc6ef38584874b2d78022102d531b_I20211231" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4NzE_77c231c2-4cf7-417f-baef-c5a5cce9c5e9">77.2</ix:nonFraction> million for state and local income tax purposes). However, due to changes in our capital structure, approximately $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-5" name="efoi:DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4ODk_265ef7bf-1103-4cf5-8015-e7b32683f4f7">71.0</ix:nonFraction> million of the $<ix:nonFraction unitRef="usd" contextRef="i1f2d9a1ca0ff499ea1c3689f9f2e0d62_I20211231" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4ODE_ff134b51-2888-41af-a986-f9c651d58373">125.4</ix:nonFraction> million is available to offset future taxable income after the application of the limitations found under Section 382 of the Internal Revenue Code of 1986, as amended. As a result of the Tax Cuts and Job Act of 2017 (the &#8220;Tax Act&#8221;), NOLs generated in tax years beginning after December 31, 2017 can only offset 80% of taxable income. These NOLs can no longer be carried back, but they can be carried forward indefinitely. The $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzE5ODA_f47e7064-5453-4b23-bea2-4103ff6fbcf3">9.6</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzE5ODc_7fe16a4e-2f45-4a28-9129-55941c6e22e1">7.1</ix:nonFraction> million in federal net operating losses generated in 2021 and 2020 will be subject to the new limitations under the Tax Act. If not utilized, the NOLs generated prior to December 31, 2017 of $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4OTc_48887872-b85c-44e6-bc09-0985ccfc74f9">37.5</ix:nonFraction> million will begin to expire in 2023 for federal purposes and have begun to expire for state and local purposes.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Since we believe it is more likely than not that the benefit from NOLs will not be realized, we have provided a full valuation allowance against our deferred tax assets at December 31, 2021 and 2020, respectively. We had <ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="us-gaap:DeferredTaxLiabilities" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI1MzQ_45cbd764-0b76-4ac2-b1e3-79b753955caf"><ix:nonFraction unitRef="usd" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="us-gaap:DeferredTaxLiabilities" format="ixt:fixed-zero" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI1MzQ_aef2ead4-c4c2-4111-a717-f46b5754bb4c">no</ix:nonFraction></ix:nonFraction> net deferred tax liabilities at December 31, 2021 or 2020, respectively. In 2020, we recognized various states tax benefits as a result of the adjustment from </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">75</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i84cf955ee3174604806cf7a2108bf456" continuedAt="i3137df5301644d92939a6e0c65ce70cd"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the 2019 provision to the actual tax on the 2019 returns that were filed in 2019. In 2019, we recognized various states tax expense as a result of the adjustment from the 2018 provision to the actual tax on the 2018 returns that were filed in 2019.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The CARES Act was enacted on March 27, 2020 and the Consolidated Appropriations Act (the &#8220;Relief Act&#8221;) was enacted on December 27, 2020 in the United States. The key provisions of the CARES Act and the Relief Act, as applicable to the Company, include the following:</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ability to use NOLs to offset income without the 80% taxable income limitation enacted as part of the Tax Cuts and Jobs Act (&#8220;TCJA&#8221;) of 2017, and to carry back NOLs to offset prior year income for five years. These are temporary provisions that apply to NOLs incurred in 2018, 2019 or 2020 tax years. We did not recognize any tax benefit for the year ended December 31, 2021 related to our ability to carry back prior year losses, as well as projected current year losses, under the CARES Act to years with the previous 35% tax rate. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ability to claim a current deduction for interest expense up to 50% of Adjusted Taxable Income (&#8220;ATI&#8221;) for tax years 2019 and 2020. This limitation was previously 30% of ATI pursuant to the Tax Act, and will revert to 30% after 2020. The Company has no current interest expense limitation. </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the aforementioned provisions, the CARES Act also provided the following non-income tax provisions as applicable to the Company: </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The ability to defer the payment of the employer portion of social security taxes incurred between March 27, 2020 and December 31, 2020, with 50% of the deferred amount to be paid by December 31, 2021 and the remaining 50% to be paid by December 31, 2022. For the year ended December 31, 2021, the Company has deferred $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:EmployerDeferredPayrollTaxesLiabilityCARESAct" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI3NDg3NzkwNzkzOTk_69559e51-6afa-40a5-90c2-f88caada5f70">77</ix:nonFraction>&#160;thousand of payroll taxes.</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The ability to claim an ERTC, which is a refundable payroll tax credit, subject to certain limitations. Refer to Note 13, &#8220;Other Income&#8221; for details.</span></div></ix:continuation><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i3137df5301644d92939a6e0c65ce70cd" continuedAt="i754cb1e272554dc5a6f4d49d6a5fce2c">&#8226;</ix:continuation></span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"><ix:continuation id="i754cb1e272554dc5a6f4d49d6a5fce2c">The Company received approximately $<ix:nonFraction unitRef="usd" contextRef="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231" decimals="-3" name="efoi:ProceedsFromPaycheckProtectionProgram" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI3NDg3NzkwNzkzODQ_23532a96-900f-4f1c-8d48-46fcd126cfdd">795</ix:nonFraction>&#160;thousand in PPP loans, which were forgiven in 2021. The CARES Act provides that the loan forgiveness is tax-exempt for federal purposes. Refer to Note 8, &#8220;Debt&#8221; for details.</ix:continuation> </span></div><div id="i0aac58884afd43c7af148e399624b8eb_175"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 12.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:SegmentReportingDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzg2OA_5e808b3b-fca6-429a-bc30-72248b3d0ce6" continuedAt="i8debc7932e464c6599659b22c04bbade" escape="true">PRODUCT AND GEOGRAPHIC INFORMATION</ix:nonNumeric></span></div><ix:continuation id="i8debc7932e464c6599659b22c04bbade"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We focus our efforts on the sale of LED lighting and controls products and UVCD products in the commercial market and MMM, and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our products are sold primarily in the United States through a combination of direct sales employees, lighting agents, independent sales representatives and distributors, and via e-commerce with digital marketing strategies that profile our UVCD technologies. We currently operate in a single industry segment, developing and selling our LED lighting products and controls as well as UVCD products into the MMM and commercial markets.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzg2MQ_ff3d0c37-ffc0-4493-aabb-a84103289f40" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a breakdown of product net sales for the years indicated (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial products</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i197c0fe1384549c487b81bb905620e44_D20210101-20211231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzItMS0xLTEtMA_a85698c5-566a-48f2-8f07-c532ca123437">4,682</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic27dfd50f8b84336b419cf442767ca39_D20200101-20201231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzItMy0xLTEtMA_b4723371-5885-4d29-8e45-1695b41f595e">5,404</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MMM products</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i2024eff72edb40b08a2872fd9afd83d5_D20210101-20211231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzMtMS0xLTEtMA_6371b93f-a3ab-4fc7-993a-10614dd272a1">5,183</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1fb4bf01d859465d8a9690b5cade977c_D20200101-20201231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzMtMy0xLTEtMA_d48400f9-bd00-4dea-97a8-9d04c163a692">11,424</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzUtMS0xLTEtMA_c32d9bca-eda2-49cd-8c1a-3371145c0660">9,865</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzUtMy0xLTEtMA_52284e31-d180-440c-87cb-6b2b0f7f8353">16,828</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzg2NA_7115d390-23c5-436e-b24e-6c2c86c0cda5" escape="true"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A geographic summary of net sales is as follows (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:61.619%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.174%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.177%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7f06ae07d18848d594df88fe8d7cfc70_D20210101-20211231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzItMS0xLTEtMA_426151fa-50ee-4453-af23-674c162a99d6">9,712</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i19b5439904b14b289663730383e53ff1_D20200101-20201231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzItMy0xLTEtMA_a2368f4c-f00e-4703-b94a-152d16e59bbe">16,685</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">International</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic0151d79c4bd4aeaaf6a11c9700dd978_D20210101-20211231" decimals="-3" name="us-gaap:Revenues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzMtMS0xLTEtMA_0cc42e7a-7367-4cc6-8cec-28c858292ff7">153</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic1dbd62a77f24cddafa39b3a5a30bb06_D20200101-20201231" decimals="-3" name="us-gaap:Revenues" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzMtMy0xLTEtMA_9b8641d0-59ce-496c-a7ee-2ed483111183">143</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzQtMS0xLTEtMA_86c0ff59-2955-40ad-a9fd-da99c919e408">9,865</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzQtMy0xLTEtMA_21151470-ed18-4f7d-b82b-7d5c82c3d7e8">16,828</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021 and 2020, approximately <ix:nonFraction unitRef="number" contextRef="i902bade71e834f7f9e25997670e249f2_I20201231" decimals="INF" name="efoi:LonglivedAssetsLocatedinUSPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzc0OQ_c63607c0-22cf-44c0-aeba-b40eab818ad2"><ix:nonFraction unitRef="number" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="INF" name="efoi:LonglivedAssetsLocatedinUSPercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzc0OQ_fde45921-06e9-437b-a22f-1d0c18666bc5">100</ix:nonFraction></ix:nonFraction>% of our long-lived assets, which consist of property and equipment, were located in the United States.</span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_1833"></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 13. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8yNzQ4Nzc5MDcyODk2_708f1341-b460-4309-8a8b-a74e73dd35da" continuedAt="icaf3175c77414aa5b8ae2f27b4558b6b" escape="true">OTHER INCOME</ix:nonNumeric></span></div><ix:continuation id="icaf3175c77414aa5b8ae2f27b4558b6b"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Employee Retention Tax Credit</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The CARES Act, which was enacted on March 27, 2020, provides an ERTC that is a refundable tax credit against certain employer taxes. The ERTC was subsequently amended by the Taxpayer Certainty and Disaster Tax Relief Act of 2020, the Consolidated Appropriation Act of 2021, and the American Rescue Plan Act of 2021, all of which amended and extended the ERTC availability and guidelines under the CARES Act. Following these amendments, we and other businesses became retroactively eligible for the ERTC, and as a result of the foregoing legislation, are eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to 70% of the qualified wages paid to employees between January 1, 2021 and September 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum allowable ERTC per employee of $7,000 per calendar quarter in 2021. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For purposes of the amended ERTC, an eligible employer is defined as having experienced a significant (20% or more) decline in gross receipts during each of the first three 2021 calendar quarters when compared with the same quarter in 2019 or the immediately preceding quarter to the corresponding calendar quarter in 2019. The credit is taken against the Company&#8217;s share of Social Security Tax when the Company&#8217;s payroll provider files, or subsequently amends the applicable quarterly employer tax filings.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the amended guidelines, we are eligible to receive the ERTC for the second and third quarters of 2021. As part of the filing of our employer tax filings for the third quarter of 2021, we applied for and received a refund of $<ix:nonFraction unitRef="usd" contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8yNzQ4Nzc5MDcyODk4_a6c81a56-52d9-4af9-9cc9-c3ca708290c2">431</ix:nonFraction>&#160;thousand, and we amended our filing for the second quarter of 2021, for which we expect to receive an additional refund of approximately $<ix:nonFraction unitRef="usd" contextRef="i2505d1231c054af68152871f25cdc3b6_I20210630" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8yNzQ4Nzc5MDcyOTEz_39daafdd-1401-4d34-811b-6061b3d22e2b">445</ix:nonFraction>&#160;thousand. These amounts are recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021, and the $<ix:nonFraction unitRef="usd" contextRef="i9f73e56b185c477d9990315664de9839_I20211231" decimals="-3" name="efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8yNzQ4Nzc5MDcyOTI4_a78b88af-763d-4075-a7df-8661d1d6d94f">445</ix:nonFraction>&#160;thousand expected receivable is included in prepaid and other current assets in the Consolidated Balance Sheet as of December 31, 2021. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PPP Loan</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;17, 2020, the Company was granted a loan from KeyBank in the amount of approximately $<ix:nonFraction unitRef="usd" contextRef="if96f463cbc104c67bd5c475b229d0070_D20200417-20200417" decimals="-3" name="us-gaap:ProceedsFromLoanOriginations1" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMwOTgy_83b32fc1-5b7a-4417-86ab-4229bfa5f446">795</ix:nonFraction>&#160;thousand, pursuant to the PPP under the CARES Act, which was enacted on March 27, 2020. The funds were received on April 20, 2020, and accrued interest at a rate of <ix:nonFraction unitRef="number" contextRef="idda38c33d24c4b43a1f381624845675c_I20200417" decimals="INF" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMwOTkw_3d7cbca9-570d-441c-a84c-523f36d04286">1</ix:nonFraction>% per annum. At December 31, 2020, $<ix:nonFraction unitRef="usd" contextRef="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231" decimals="-3" name="efoi:PaymentProtectionProgramCurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMwOTk0_65b82cb1-3baf-48cc-a99c-233cde1ce428">529</ix:nonFraction>&#160;thousand was classified as short-term debt and $<ix:nonFraction unitRef="usd" contextRef="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231" decimals="-3" name="efoi:PaymentProtectionProgramNoncurrent" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMxMDAy_82beb5c3-b239-4c48-875e-feabd9681905">266</ix:nonFraction>&#160;thousand was classified as long-term debt on the Company&#8217;s Consolidated Balance Sheet. Under the terms of the PPP, certain amounts of the loan may be forgiven if they are used for qualifying expenses as described in the CARES Act. The entire principal balance and interest were forgiven by the Small Business Administration on February 11, 2021. The $<ix:nonFraction unitRef="usd" contextRef="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231" decimals="-3" name="efoi:GainLossOnForgivenessOfDebt" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMxMDEw_c0baec71-3224-44b5-ae0d-54edf719bcf8">801</ix:nonFraction>&#160;thousand forgiveness income was recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021.</span></div></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_178"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 14. <ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzM4MDc_32d41df0-8b08-417c-97e5-5f81b6eac308" continuedAt="i67153f2325dc4a7596c06378dfabd720" escape="true">RELATED PARTY TRANSACTIONS</ix:nonNumeric></span></div><ix:continuation id="i67153f2325dc4a7596c06378dfabd720" continuedAt="i2cf9fc52f87c4e37bf0af164948a93f7"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 12, 2012, our Board of Directors appointed James Tu to serve as our non-executive Chairman. On April 30, 2013, Mr. Tu became the Executive Chairman assuming the duties of the Principal Executive Officer. On October 30, 2013 Mr. Tu was appointed Executive Chairman and Chief Executive Officer by our Board of Directors. On May 9, 2016, Mr. Tu also assumed the role of President. On August 11, 2016, our Board of Directors appointed a separate Executive Chairman of the Board, and Mr. Tu continued to serve in the role of Chief Executive Officer and President, until February 19, 2017.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 30, 2018, each of Gina Huang, Brilliant Start Enterprise, Inc. (&#8220;Brilliant Start&#8221;), Jag International Ltd., Jiangang Quo, Cleantech Global Ltd., James Tu, 5 Elements Global Fund L.P., Schema Hui Cheng, Communal International, Ltd., and 5 Elements Energy Efficiency Limited (the &#8220;Former Schedule 13D Parties&#8221;) filed a Schedule 13D with the SEC, indicating that they may have been deemed to be a &#8220;group&#8221; under Section 13(d)(3) of the Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder, and that such group beneficially owned <ix:nonFraction unitRef="number" contextRef="i6ea6a13dafe14b18bb11f171d6eb7e1c_I20190226" decimals="3" name="efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzExOTc_c780874d-79c1-4b1e-abb2-947b020e2206">17.6</ix:nonFraction>% of our common stock. The Schedule 13D was amended on February 26, 2019 and April 3, 2019.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 21, 2019, the Former Schedule 13D Parties entered into a settlement with the Company providing for the appointment of two directors (Geraldine McManus and Jennifer Cheng) and the nomination of those two directors for election at the Company&#8217;s 2019 annual meeting of stockholders.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 29, 2019, the Company entered into a note purchase agreement (the &#8220;Note Purchase Agreement&#8221;) with certain investors, including Fusion Park LLC (of which James Tu is the sole member) (&#8220;Fusion Park&#8221;) and Brilliant Start (which is controlled by Gina Huang, a current member of our Board of Directors), for the purchase of an aggregate of $<ix:nonFraction unitRef="usd" contextRef="i226fbb921c5e485897c159bb7db6a1cb_D20190329-20190329" decimals="-5" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzE5Mjc_64442d67-796c-4ddb-a1d0-ca5ea60ba105">1.7</ix:nonFraction> million of Convertible Notes. Pursuant to the Note Purchase Agreement, Fusion Park and Brilliant Start purchased $<ix:nonFraction unitRef="usd" contextRef="idb9ed717b0a243c7a5b4ae753cb534c9_D20190329-20190329" decimals="-3" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzIwMzU_31e6beae-b505-4c72-bad3-a2428b676154">580</ix:nonFraction> thousand and </span></div></ix:continuation><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">77</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:54pt;width:100%"><div style="text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:32.135%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.282%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:32.283%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">ENERGY FOCUS, INC.</span></div></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div></div><ix:continuation id="i2cf9fc52f87c4e37bf0af164948a93f7"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$<ix:nonFraction unitRef="usd" contextRef="i986b7a0a4ce8436295fd5285a858a2bd_D20190329-20190329" decimals="-3" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzIwNDI_5a9474a0-b2aa-4a50-8f0f-8571deea81b1">500</ix:nonFraction> thousand, respectively, in principal amount of Convertible Notes. In connection with the sale of Convertible Notes, Mr. Tu was appointed as a member of our Board of Directors on April 1, 2019 and Chief Executive Officer, President and interim Chief Financial Officer on April 2, 2019. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mr. Tu is also the Founder, Chief Executive Officer and Chief Investment Officer of 5 Elements Global Advisors, an investment advisory and management company managing the holdings of 5 Elements Global Fund LP, which was a beneficial owner of more than <ix:nonFraction unitRef="number" contextRef="i3a6e6795461743609682ffcb8cd1e3d5_I20140731" decimals="3" name="efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzI1NzM_df0602a7-a65c-4ca3-b0fa-0052876245fd">5.0</ix:nonFraction>% of our common stock prior to the August 2014 registered offering. As of December&#160;31, 2021, 5 Elements Global Fund LP beneficially owns approximately <ix:nonFraction unitRef="number" contextRef="i0501a64963994dacaa526c0a82bd81fc_I20211231" decimals="3" name="efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzI3MTA_1abf7a40-3df7-4590-88db-e03d57c6b4ad">0.9</ix:nonFraction>% of our common stock. 5 Elements Global Advisors focuses on investing in clean energy companies with breakthrough, commercialized technologies, and near-term profitability potential. Mr. Tu is also Co-Founder of Communal International Ltd. (&#8220;Communal&#8221;), a British Virgin Islands company dedicated to assisting clean energy, solutions-based companies, maximizing technology and product potential and gaining them access to global marketing, distribution licensing, manufacturing and financing resources. Communal has a <ix:nonFraction unitRef="number" contextRef="i6a84b900816b4ec9bd7cbf5ab67a988b_D20210101-20211231" decimals="2" name="us-gaap:LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzMyMzA_ff06968a-21ee-47ce-b75a-c3f8aac08290">50.0</ix:nonFraction>% ownership interest in 5 Elements Energy Efficiencies (BVI) Ltd., a beneficial owner of approximately <ix:nonFraction unitRef="number" contextRef="i914dbf01dccc4cf7abc5b14cc72557fb_I20211231" decimals="3" name="efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzMzMzQ_481da66b-3553-4003-8282-ba921eca1655">0.9</ix:nonFraction>% of our common stock. Schema Cheng controls 5 Elements Energy Efficiencies (BVI) Ltd. and owns the other <ix:nonFraction unitRef="number" contextRef="i7fb52740cc5440e382b6587a44a17e81_D20210101-20211231" decimals="2" name="us-gaap:LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzM0NDE_55ffc5f8-02f7-48c8-a42a-3fd467ca1aeb">50.0</ix:nonFraction>%. She is Co-Founder of Communal International Ltd. with Mr. Tu and the mother of Simon Cheng. Mr. Cheng was a member of our Board of Directors through February 19, 2017 and an employee of the Company through June 30, 2018 and rejoined the Company on August 5, 2019. Schema Cheng is also the mother of Jennifer Cheng, a current member of our Board of Directors.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 11, 2022, our Board of Directors appointed Stephen Socolof, our Lead Independent Director, as Interim Chief Executive Officer to replace Mr. Tu. On February 11, 2022, Mr. Tu and the Company entered into a Separation and Release Agreement and Mr. Tu resigned from the Board of Directors.</span></div></ix:continuation><div id="i0aac58884afd43c7af148e399624b8eb_181"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NOTE 15.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:LegalMattersAndContingenciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODEvZnJhZzowYTg4ZDczYTM1ZTk0Yzk0OTllOTdiMzU3OGYyNDQ2My90ZXh0cmVnaW9uOjBhODhkNzNhMzVlOTRjOTQ5OWU5N2IzNTc4ZjI0NDYzXzExNDQ_d0992ec5-bf66-4db0-8d5b-fb9f8442f5b1" continuedAt="i5c1d407369b045489d84978e5fff295b" escape="true"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">LEGAL</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">MATTERS</span></ix:nonNumeric></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="i5c1d407369b045489d84978e5fff295b">We may be the subject of threatened or pending legal actions and contingencies in the normal course of conducting our business. We provide for costs related to these matters when a loss is probable and the amount can be reasonably estimated. The effect of the outcome of these matters on our future results of operations and liquidity cannot be predicted because any such effect depends on future results of operations and the amount or timing of the resolution of such matters. While it is not possible to predict the future outcome of such matters, we believe that the ultimate resolution of such individual or aggregated matters will not have a material adverse effect on our consolidated financial position, results of operations, or cash flows. For certain types of claims, we maintain insurance coverage for personal injury and property damage, product liability and other liability coverages in amounts and with deductibles that we believe are prudent, but there can be no assurance that these coverages will be applicable or adequate to cover adverse outcomes of claims or legal proceedings against us.</ix:continuation></span></div><div style="height:45pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">78</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_187"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:QuarterlyFinancialInformationTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90ZXh0cmVnaW9uOmVlMDJiNTkwNTI4ZTQ1ZDg4NDk3MDliYTMwYzA5YTM3XzkyMQ_e40f75d3-ed13-4e4d-8ba6-ad70ee522730" escape="true"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SUPPLEMENTARY FINANCIAL INFORMATION TO ITEM 8.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth our selected unaudited financial information for the four quarters in the years ended December&#160;31, 2021 and 2020, respectively. This information has been prepared on the same basis as the audited financial statements and, in the opinion of management, contains all adjustments necessary for a fair presentation thereof.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90ZXh0cmVnaW9uOmVlMDJiNTkwNTI4ZTQ1ZDg4NDk3MDliYTMwYzA5YTM3XzkyMA_731620d7-7c83-495d-9e05-e5eb480f68d5" escape="true"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">QUARTERLY FINANCIAL DATA (UNAUDITED)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">amounts in thousands, except per share amounts</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">)</span></div><div style="margin-bottom:15pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:48.973%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.647%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.647%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.647%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.650%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fourth<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Third<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Second<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">First<br/>Quarter</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzEtMi0xLTEtMA_4600d5b3-2fad-41c0-9838-c0755ef9053d">2,405</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzEtNC0xLTEtMA_0d98d075-8bec-43c6-b101-fb8a7788a0e3">2,749</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzEtNi0xLTEtMA_c14ba512-88b4-473b-b81c-0012b1d14023">2,074</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzEtOC0xLTEtMA_73f8cd4d-84a9-4ad6-8276-c49a62d48379">2,637</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231" decimals="-3" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzItMi0xLTEtMA_85c14b50-644d-4d34-87b8-c59fb358e76e">189</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930" decimals="-3" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzItNC0xLTEtMA_47b9c700-cdda-4fda-b98c-2f37bae83db8">563</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630" decimals="-3" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzItNi0xLTEtMA_63e4560f-1faa-4c48-92ba-f3369866ee79">393</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331" decimals="-3" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzItOC0xLTEtMA_1e99aa34-4876-4da0-a97f-52a58685f65b">553</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzMtMi0xLTEtMA_cf4be715-f424-412a-995f-70ebd8725147">2,631</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzMtNC0xLTEtMA_bdeb8470-40fc-4e87-ab69-41f3a39bd964">1,140</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzMtNi0xLTEtMA_d752c9fa-0ea7-475b-9998-3f09ceae2e18">2,473</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzMtOC0xLTEtMA_587a5e5b-69fd-4be2-a7b7-b5a93c0a10ee">1,642</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss per common share attributable to common stockholders (basic and diluted):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctMi0xLTEtMA_86e2eaaf-824b-4577-a881-792bf356e98a"><ix:nonFraction unitRef="usdPerShare" contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctMi0xLTEtMA_cd8da8c8-5e24-4eac-a2f8-ac2dfa631fc1">0.50</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctNC0xLTEtMA_4c38cdcf-c90c-4aad-8154-64599141cd63"><ix:nonFraction unitRef="usdPerShare" contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctNC0xLTEtMA_66e06745-f029-4346-bfd4-b492f69cb1bf">0.22</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctNi0xLTEtMA_6946c844-236f-4ada-bf5f-11595e32be89"><ix:nonFraction unitRef="usdPerShare" contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctNi0xLTEtMA_b1815ada-1f10-4263-b1ad-9921d3a7c77d">0.59</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctOC0xLTEtMA_3cf47b32-e70b-4555-8257-e0d6e4703a9a"><ix:nonFraction unitRef="usdPerShare" contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctOC0xLTEtMA_fcae6c4a-f90c-49cd-b0f9-0decf7f747cf">0.45</ix:nonFraction></ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares used in computing net loss per common share (basic and diluted)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTItMS0xLTI4ODA2_83d8ce2d-9aeb-4b54-9fb8-9ffb3c774cae"><ix:nonFraction unitRef="shares" contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTItMS0xLTI4ODA2_bf188dbe-559f-41ba-a311-ccb37c063f91">5,312</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTQtMS0xLTI4ODA2_a7a145c6-5380-4316-b75c-bb8ae4d117cd"><ix:nonFraction unitRef="shares" contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTQtMS0xLTI4ODA2_f0d740d9-9264-441c-9ce3-d18c85f072b0">5,086</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTYtMS0xLTI4ODA2_3f9c710d-0824-4823-8e19-7fce350b14ed"><ix:nonFraction unitRef="shares" contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTYtMS0xLTI4ODA2_97dff020-0339-4e6e-b060-a2b6fe71a21d">4,211</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTgtMS0xLTI4ODA2_33454882-d74f-475d-9171-789389195ecf"><ix:nonFraction unitRef="shares" contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTgtMS0xLTI4ODA2_e8e198b1-f3e8-467f-a1e3-1a8468cd869e">3,612</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:48.973%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.647%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.647%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.647%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.650%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fourth<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Third<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Second<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">First<br/>Quarter</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEtMi0xLTEtMA_5046b61a-50dd-4408-8e55-0a518760a119">3,746</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEtNC0xLTEtMA_d65fa3e2-1238-493f-9ed7-6cb3db913319">5,964</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEtNi0xLTEtMA_e58d241e-0a72-4c3c-b52e-320820b9d916">3,335</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEtOC0xLTEtMA_222d158b-f088-4d3a-88ba-04c5c6a42766">3,783</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzItMi0xLTEtMA_9ef3d932-d000-4be6-9c7d-aafa772a8a2c">1,434</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzItNC0xLTEtMA_a0cf3f18-550e-4c23-a68a-2aea166610ce">1,376</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzItNi0xLTEtMA_4f280e47-a879-4f55-914e-a45eac5a09a3">1,343</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzItOC0xLTEtMA_54e9fe7a-8b19-4d6d-939f-09843849f8fd">1,032</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231" decimals="-3" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzMtMi0xLTEtMA_a63054f1-d034-4b81-8bc6-d61673bd80a1">65</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzMtNC0xLTEtMA_1489f105-3bb1-4f53-baa0-b4f58703c268">1,165</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzMtNi0xLTEtMA_e0457f1f-c302-4cf8-8efc-e7682f084798">4,340</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331" decimals="-3" sign="-" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzMtOC0xLTEtMA_b049a81c-1d96-4dab-b378-c54b910a0b66">541</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per common share attributable to common stockholders - basic</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzctMi0xLTEtMA_25c0ae7d-9785-4f63-b33d-3368f24e9462">0.01</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzctNC0xLTEtMA_9f2d2cf2-da9a-46cb-aaa6-107a1fbfe101">0.35</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzctNi0xLTEtMA_e882915e-7713-4e88-aa76-3704c785ed30">1.36</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331" decimals="2" sign="-" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzctOC0xLTEtMA_74e48044-728a-4f9b-80f5-f05c146764e6">0.18</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per common share attributable to common stockholders - diluted</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktMi0xLTEtMjg3NDA_e736585d-b0b6-4d52-8835-e635441861b2">0.01</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktNC0xLTEtMjg3NDA_6de5e5f3-7588-4ab4-aa81-a6885d77f677">0.35</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktNi0xLTEtMjg3NDA_8b9e8249-7791-425a-973e-434e36f29536">1.36</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usdPerShare" contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331" decimals="2" sign="-" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktOC0xLTEtMjg3NDA_2d1e027b-4d8a-49df-b264-5eba9e25ec72">0.18</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares used in computing net income (loss) per common share</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">2</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEyLTItMS0xLTI4NzUz_baa05aea-5ec3-4289-88a0-31439d3646f3">3,491</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEyLTQtMS0xLTI4NzUz_476d23b3-7f91-4233-8d09-050ccc9bd9ba">3,308</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEyLTYtMS0xLTI4NzUz_e7d88b7b-22eb-4e9c-be8c-3a64ec2c6e58">3,192</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEyLTgtMS0xLTI4NzUz_4a35fc26-c4e4-47a3-920f-06a25f80474a">3,086</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktMi0xLTEtMA_776d5e73-f2e8-489b-9ec3-a8ffab8b60c5">4,307</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktNC0xLTEtMA_9598adcb-7f39-414b-aa2c-49d03b403f81">3,308</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktNi0xLTEtMA_f75179b3-72a3-46a1-9b24-8726cf3f65c0">3,192</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktOC0xLTEtMA_d323d1b2-c2ee-436f-abad-48ce37b4a5a7">3,086</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:10pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with Topic 260 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">"Earnings Per Share"</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, net income has been allocated to holders of common shares and participating securities including preferred shares and warrants, accordingly. Earnings per share disclosed above utilizes income attributable to common shareholders after this required allocation.</span></div><div style="margin-bottom:10pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">2</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</span></div></ix:nonNumeric></ix:nonNumeric><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">79</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_190"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_193"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 9A. CONTROLS AND PROCEDURES</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Evaluation of disclosure controls and procedures</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We maintain disclosure controls and procedures, as defined in Rule 13a-15(e) and Rule 15d-15(e) under the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;), that are designed to ensure that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the SEC, and that such information is accumulated and communicated to management, including our Interim Chief Executive Officer and Chief Financial Officer, as appropriate, to allow for timely decisions regarding required disclosure.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to Rule 13a-15(b) under the Exchange Act, our management must evaluate, with the participation of our Chief Executive Officer and Chief Financial Officer, the effectiveness of our disclosure controls and procedures, as of December&#160;31, 2021, the end of the period covered by this report. Management, with the participation of our current Interim Chief Executive Officer and Chief Financial Officer, did evaluate the effectiveness of our disclosure controls and procedures as of the end of period covered by this report. Based on this evaluation, our Interim Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures were effective at a reasonable assurance level as of December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Management&#8217;s report on internal controls over financial reporting</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management of Energy Focus, Inc. is responsible for establishing and maintaining adequate internal control over financial reporting, as such term is defined in Exchange Act Rule 13a-15(f). Under the supervision and with the participation of management, including our Chief Executive Officer and Chief Financial Officer, we conducted an evaluation of the effectiveness of internal control over financial reporting as of December&#160;31, 2021 based upon criteria established in &#8220;Internal Control &#8211; Integrated Framework (2013)&#8221; issued by the Committee of Sponsoring Organizations of the Treadway Commission (the &#8220;COSO Framework&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An effective internal control system, no matter how well designed, has inherent limitations, including the possibility of human error and circumvention or overriding of controls; therefore, it can provide only reasonable assurance with respect to reliable financial reporting. Furthermore, effectiveness of an internal control system in future periods cannot be guaranteed, because the design of any system of internal controls is based in part upon assumptions about the likelihood of future events. There can be no assurance that any control design will succeed in achieving its stated goals under all potential future conditions. Over time, certain controls may become inadequate because of changes in business conditions, or the degree of compliance with policies and procedures may deteriorate. As such, misstatements due to error or fraud may occur and not be detected.&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based upon our evaluation under the COSO framework as of December&#160;31, 2021, management concluded that its internal control over financial reporting was effective as of December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Changes in internal control over financial reporting</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the quarter ended December&#160;31, 2021, there were no changes in our internal control over financial reporting that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Attestation</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Report of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Independent</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Registered</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Public</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounting</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Firm</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">This Annual Report does not include an attestation report of our independent registered public accounting firm regarding internal control over financial reporting. Management&#8217;s report was not subject to attestation by our independent public accounting firm pursuant to the rules of the SEC that permit us to provide only management&#8217;s report.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_196"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">9B.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">OTHER INFORMATION</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div id="i0aac58884afd43c7af148e399624b8eb_1850"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 9C. DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">80</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_199"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART III</span></div><div style="text-align:center"><span><br/></span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 10. DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 11. EXECUTIVE COMPENSATION.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 12. SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS.</span></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 13. CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM 14. PRINCIPAL ACCOUNTANT FEES AND SERVICES.</span></div><div style="margin-bottom:10pt;text-indent:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Except as set forth in Part I, the information required by Items 10, 11, 12, 13 and 14 will appear in the definitive Energy Focus, Inc. Proxy Statement for the Annual Meeting of Stockholders to be held on or about May 25, 2022, which will be filed pursuant to Regulation 14A under the Securities Exchange Act of 1934 and is incorporated by reference in this Annual Report pursuant to General Instruction G(3) of Form 10-K (other than the portions thereof not deemed to be &#8220;filed&#8221; for the purpose of Section 18 of the Securities Exchange Act of 1934).&#160;</span></div><div id="i0aac58884afd43c7af148e399624b8eb_202"></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PART IV</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div id="i0aac58884afd43c7af148e399624b8eb_205"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">15.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBITS, FINANCIAL STATEMENT SCHEDULES</span></div><div style="margin-bottom:10pt;padding-left:27pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(a)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:6.91pt">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">statements</span></div><div style="margin-top:9pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The financial statements required by this Item 15(a)(1) are set forth in Item 8, &#8220;Financial Statements and Supplementary Data,&#8221; of this Annual Report.</span></div><div style="margin-bottom:10pt;margin-top:10pt;padding-left:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">statement</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">schedules</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Schedule II&#8212;Valuation and Qualifying Accounts is set forth below. All other schedules are omitted either because they are not applicable, or the required information is shown in the financial statements or the notes.</span></div><ix:nonNumeric contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231" name="srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90ZXh0cmVnaW9uOmRjNjdiMmJmMDQzOTRiY2Q5NDkxOWVhNjM5MThiZTBmXzYxMQ_c38817bb-82c7-4dc4-beb3-70cca7d0fc5a" escape="true"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SCHEDULE II</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SCHEDULE OF VALUATION AND QUALIFYING ACCOUNTS</span></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:48.311%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.811%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.811%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.811%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.816%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Beginning<br/>Balance</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Charges to<br/>Revenue/<br/>Expense</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Deductions</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Ending<br/>Balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowance for doubtful accounts and returns</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i470ca8126ea5433aac9f7fd8d9230dee_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItMi0xLTEtMjg4Mjk_4da7799d-1d2c-43ce-ab2a-63976d9326e6">8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1d09896c5d3b4ce58068613148679676_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItNC0xLTEtNDU3MjA_d170dfa9-46a6-431d-b202-af7674623211">6</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i1d09896c5d3b4ce58068613148679676_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItNi0xLTEtMjg4Mjk_c834e391-60e5-492f-a33c-cfcc94d2520b">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie92beb8db1b545eeb8bbf34cc5773ff2_I20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItOC0xLTEtMjg4Mjk_8cad18a5-56d8-4e45-b758-2459eda47f8c">14</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventory reserves</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibbb909451be248a9bcaddb97d16202e1_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtMi0xLTEtMjg4Mjk_9dcc4118-190d-4e8e-92b3-c0f95affab87">2,894</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie77f47dfbdcd46db90c7b9abb87be007_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtNC0xLTEtMzk3MTQ_4072783f-1190-415d-b33a-330d28c216e1">281</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie77f47dfbdcd46db90c7b9abb87be007_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtNi0xLTEtMzk3MTQ_09bffc2e-1aaf-4623-9fec-6bdd07739faa">125</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i20a0302f7a374d1a851c7f5612e3df06_I20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtOC0xLTEtMjg4Mjk_f2e9bc6b-7519-46da-baac-bf9663e2f8f5">3,050</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance for deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4980c7cd73064cf6a9d691510a59cbd5_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtMi0xLTEtMjg4Mjk_3e95ffe6-2c73-4317-b810-0ab909688722">16,363</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i38e69ad7c47941cabf512c28ed20f43f_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtNC0xLTEtMzk2OTg_9ade328d-065d-4f62-8600-84867ed3cdb3">2,568</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i38e69ad7c47941cabf512c28ed20f43f_D20210101-20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtNi0xLTEtMzk2OTg_18f9ef03-c760-4b58-a6aa-40ba09b5c91e">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i9863b9679558410ea32d213fa97f7d72_I20211231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtOC0xLTEtMjg4Mjk_03b850a5-86b2-4737-8b44-7f64ee8cb0cb">18,931</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowance for doubtful accounts and returns</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i15d2a29dd4644d06a4ed9d981c8d9103_I20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItMi0xLTEtMA_720c7660-9ac6-4005-9ac2-0ea5d2e1badc">28</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie497d4f6ca9a484a9b70f2ccbb3e8858_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItNC0xLTEtMA_76328179-669c-4b22-a7db-47a9b21bd2f4">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ie497d4f6ca9a484a9b70f2ccbb3e8858_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItNi0xLTEtMA_4406e0a3-d075-401d-8ca9-09e794a8560d">20</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i470ca8126ea5433aac9f7fd8d9230dee_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItOC0xLTEtMA_fd93bbdf-ae7e-418f-a9dc-bbd2d66f8ac5">8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventory reserves</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i88c89f77bc274c40b39391a664b32bbc_I20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtMi0xLTEtMA_f5c12d9a-97b7-476a-8140-91a9721f8f6a">3,518</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idedbae9094ff4b0ea730fbda6bad71a2_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtNC0xLTEtMA_691aec39-1841-4ef5-88ce-75268813c91a">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="idedbae9094ff4b0ea730fbda6bad71a2_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtNi0xLTEtMA_0253c54b-c1dd-4ecc-bd40-ab4f45cab12d">624</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ibbb909451be248a9bcaddb97d16202e1_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtOC0xLTEtMA_251fcf16-15bd-4e71-b5d0-d821cfe2d2be">2,894</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance for deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i7073a92a6cda4479b4673e4cc22f0277_I20191231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtMi0xLTEtMA_4533d58b-10cd-480f-9ce7-d6335a2c71ff">14,390</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib2500e9c4f1241b791b32c557a343941_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtNC0xLTEtMA_045e9638-da5e-416c-8c08-f12ca04e9568">1,973</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="ib2500e9c4f1241b791b32c557a343941_D20200101-20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:fixed-zero" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtNi0xLTEtMA_b3f7f3c1-d46c-4b1d-8540-c706d207363f">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="i4980c7cd73064cf6a9d691510a59cbd5_I20201231" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtOC0xLTEtMA_82446e8b-d8db-402d-9fff-f8f14a9fa4f1">16,363</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div></ix:nonNumeric><div style="margin-bottom:10pt;padding-left:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Exhibits</span></div><div id="i0aac58884afd43c7af148e399624b8eb_208"></div><div style="-sec-extract:summary;margin-bottom:10pt;margin-top:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT INDEX</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:8.856%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:88.944%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Exhibit<br/>Number</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Description of Documents</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774913014640/ex3-1.htm">3.1</a></span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Incorporation of Energy Focus, Inc. (incorporated by reference to Appendix A to the Registrant&#8217;s Definitive Proxy Statement on Schedule 14A filed May 1, 2006).</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">81</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="-sec-extract:summary"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:8.856%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:88.944%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex32-10xk123119.htm">3.2</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on June 21, 2010 (incorporated by reference to Exhibit 3.2 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex33-10xk123119.htm">3.3</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on October 9, 2012 (incorporated by reference to Exhibit 3.3 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex34-10xk123119.htm">3.4</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on October 28, 2013 (incorporated by reference to Exhibit 3.4 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774914012834/ex3-1.htm">3.5</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on July 16, 2014 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on July 16, 2014).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000162828015005460/exhibitno31certificateof.htm">3.6</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on July 24, 2015 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on July 27, 2015).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex37-10xk123119.htm">3.7</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Amendment to the Certificate of Incorporation of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on January 15, 2020 (incorporated by reference to Exhibit 3.7 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000020/ex31-certofdesigpstk.htm">3.8</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Designation of Series A Convertible Preferred Stock of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on March 29, 2019 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on April 1, 2019).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000044/ex31amendcertofdesignat.htm">3.9</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amendment to the Certificate of Designation of Series A Convertible Preferred Stock of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on May 30, 2019 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on May 30, 2019).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex310-10xk123119.htm">3.10</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Amendment to the Certificate of Designation of Series A Convertible Preferred Stock of Energy Focus, Inc. filed with the Secretary of State of the State of Delaware on January 15, 2020 (incorporated by reference to Exhibit 3.10 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000054/exhibit31certificateof.htm">3.11</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Amendment of Certificate of Incorporation, dated June 11, 2020 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on June 11, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000044/exhibit31bylawsofenerg.htm">3.12</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Bylaws of Energy Focus, Inc. (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Current Report on Form 8-K filed on May 18, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000114420407023964/v073944_ex3-1.htm">3.13</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificate of Ownership and Merger, Merging Energy Focus, Inc., a Delaware corporation, into Fiberstars, Ind. a Delaware corporation, filed with the Secretary of State of the State of Delaware on May 4, 2007 (incorporated by reference to Exhibit 3.1 to the Registrant&#8217;s Quarterly Report on Form 10-Q filed on May 10, 2007).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000013/ex41-10xk123119.htm">4.1</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Description of Securities of Energy Focus, Inc. (incorporated by reference to Exhibit 4.1 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 24, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000119312520005947/d816701dex41.htm">4.2</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Warrant (incorporated by reference to Exhibit 4.1 of the Registrant&#8217;s Current Report on Form 8-K filed on January 13, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000119312520005947/d816701dex42.htm">4.3</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Placement Agent Warrant (incorporated by reference to Exhibit 4.2 of the Registrant&#8217;s Current Report on Form 8-K filed on January 13, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416821000014/ex44-10xk123120.htm">4.4</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Amendment to Common Stock Purchase Warrant (incorporated by reference to Exhibit 4.4 to the Registrant&#8217;s Annual Report on Form 10-K filed on March 25, 2021).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416821000055/a2021128-kex41formofwarrant.htm">4.5</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Warrant (incorporated by reference to Exhibit 4.1 of the Registrant&#8217;s Current Report on Form 8-K filed on December 15, 2021).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774913010973/efoi20130814_def14a.htm">10.1*</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2013 Employee Stock Purchase Plan (incorporated by reference to Appendix A to the Registrant&#8217;s Definitive Proxy Statement on Form DEF14A filed on August 16, 2013).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000119312512264980/d358544dprer14a.htm">10.2*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2008 Incentive Stock Plan, as amended (incorporated by reference from Appendix B to the Registrant&#8217;s Preliminary Proxy Statement on Form PRER14A filed on June 8, 2012).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416818000008/exhibit104-2014stockincent.htm">10.3*</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2014 Stock Incentive Plan, as amended (incorporated by reference to Exhibit 10.4 to the Registrant&#8217;s Annual Report on Form 10-K filed on February 22, 2018).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774914012834/ex10-1.htm">10.4*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Nonqualified Stock Option Grant Agreement to Non-Employee Directors (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on July 16, 2014).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774914012834/ex10-2.htm">10.5*</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Nonqualified Stock Option Grant Agreement to Employees (incorporated by reference to Exhibit 10.2 to the Registrant&#8217;s Current Report on Form 8-K filed on July 16, 2014).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774914012834/ex10-3.htm">10.6*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Restricted Stock Unit Grant Agreement to Employees (incorporated by reference to Exhibit 10.3 to the Registrant&#8217;s Current Report on Form 8-K filed on July 16, 2014).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416818000008/exhibit108-formofrsugranta.htm">10.7*</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Restricted Stock Unit Grant Agreement to Non-Employee Directors (incorporated by reference to Exhibit 10.8 to the Registrant&#8217;s Annual Report on Form 10-K filed on February 22, 2018).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774914012834/ex10-4.htm">10.8*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Incentive Stock Option Grant Agreement to Employees (incorporated by reference to Exhibit 10.4 to the Registrant&#8217;s Current Report on Form 8-K filed on July 16, 2014).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000143774913014640/ex10-2.htm">10.9*</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Notice of Stock Option Grant for 2008 Stock Incentive Plan (incorporated by reference to Exhibit 10.2 to the Registrant&#8217;s&#160;Quarterly Report on Form 10-Q filed on November 13, 2013).</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">82</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="-sec-extract:summary"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:8.856%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:88.944%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000006/ex101agrmt-investorgrpxfin.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000006/ex101agrmt-investorgrpxfin.htm">0</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000006/ex101agrmt-investorgrpxfin.htm">*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Agreement dated February 21, 2019 entered into by Energy Focus, Inc. and the Investor Group thereto (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on February 26, 2019).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000020/ex101-notepurchaseagreement.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000020/ex101-notepurchaseagreement.htm">1</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Note Purchase Agreement, dated March 29, 2019, among the Company and each of the Investors thereto (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on April 1, 2019).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000020/ex102-convnotexseries2019.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000020/ex102-convnotexseries2019.htm">2</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Subordinated Convertible Promissory Note entered into by the Company and each of the Investors on March 29, 2019 (incorporated by reference to Exhibit 10.2 to the Registrant&#8217;s Current Report on Form 8-K filed on April 1, 2019).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000044/ex101amendrestconvnotser20.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000044/ex101amendrestconvnotser20.htm">3</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Amended and Restated Subordinated Convertible Promissory Note entered into by the Company and each of the Investors thereto (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on May 30, 2019).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000079/exhibit101nestorofferletter.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000079/exhibit101nestorofferletter.htm">4</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000079/exhibit101nestorofferletter.htm">*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">President and Chief Financial Officer Offer Letter dated June 18, 2019 between Tod A. Nestor and Energy Focus, Inc. (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Quarterly Report on Form 10-Q filed on July 22, 2019).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416819000072/exhibit101energyfocusincex.htm">10.15*</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Energy Focus, Inc. Executive Bonus Plan (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on July 19, 2019).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000119312520005947/d816701dex101.htm">10.16</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Securities Purchase Agreement, dated as of January 9, 2020, between the Company and each purchaser named in the signature pages thereto (incorporated by reference to Exhibit 10.1 of the Registrant&#8217;s Current Report on Form 8-K filed on January 13, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000033/exhibit10220200417care.htm">10.17</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">SBA Loan Agreement, dated as of April 17, 2020, between the Company and KeyBank National Association (incorporated by reference to Exhibit 10.2 to the Registrant&#8217;s Quarterly Report on Form 10-Q filed on May 13, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000067/a20200630exhibit102cro.htm">10.18</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Loan and Security Agreement, dated as of August 11, 2020, by and between the Company and Crossroads Financial Group, LLC (incorporated by reference to Exhibit 10.2 to the Registrant&#8217;s Quarterly Report on Form 10-Q filed on August 13, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000067/a20200630exhibit103fsw.htm">10.19#</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Loan and Security Agreement, dated as of August 11, 2020, by and between the Company and Factors Southwest L.L.C. (incorporated by reference to Exhibit 10.3 to the Registrant&#8217;s Quarterly Report on Form 10-Q filed on August 13, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit1012020.htm">10.20*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Energy Focus, Inc. 2020 Stock Incentive Plan (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on September 22, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit102rsuee.htm">10.2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit102rsuee.htm">1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit102rsuee.htm">*</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Energy Focus, Inc. 2020 Stock Incentive Plan - Form of Restricted Stock Unit Award Agreement for Employees (incorporated by reference to Exhibit 10.2 to the Registrant&#8217;s Current Report on Form 8-K filed on September 22, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit103rsud.htm">10.2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit103rsud.htm">2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit103rsud.htm">*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Energy Focus, Inc. 2020 Stock Incentive Plan - Form of Restricted Stock Unit Award Agreement for Non-Employee Directors (incorporated by reference to Exhibit 10.3 to the Registrant&#8217;s Current Report on Form 8-K filed on September 22, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit104nqso.htm">10.2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit104nqso.htm">3</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit104nqso.htm">*</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Energy Focus, Inc. 2020 Stock Incentive Plan - Form of Nonqualified Stock Option Agreement for Employees (incorporated by reference to Exhibit 10.4 to the Registrant&#8217;s Current Report on Form 8-K filed on September 22, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit105iso.htm">10.2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit105iso.htm">4</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416820000073/a20208-kexhibit105iso.htm">*</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Energy Focus, Inc. 2020 Stock Incentive Plan - Form of Incentive Stock Option Agreement (incorporated by reference to Exhibit 10.5 to the Registrant&#8217;s Current Report on Form 8-K filed on September 22, 2020).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416821000021/a202104ex101firstamendment.htm">10.25</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">First Amendment to Loan and Security Agreement, dates as of April 20, 2021 by and between the Company and Crossroads Financial Group, LLC (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on April 21, 2021).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416821000024/a202104ex101notepurchaseag.htm">10.26</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Note Purchase Agreement, dated as of April 27, 2021 by and between the Company and Streeterville Capital, LLC (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on April 28, 2021).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416821000024/a202104ex102promissorynote.htm">10.27</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory Note Agreement, dated as of April 27, 2021 by and between the Company and Streeterville Capital, LLC (incorporated by reference to Exhibit 10.2 in the Registrant&#8217;s Current Report on Form 8-K filed on April 28, 2021).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416821000055/a202112ex101securitiespurc.htm">10.28##</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Form of Securities Purchase Agreement, dated as of December 13, 2021, between the Company and each purchaser named in the signature pages thereto (incorporated by reference to Exhibit 10.1 in the Registrant&#8217;s Current Report on Form 8-K filed on December 15, 2021).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416821000055/a202112ex102registrationri.htm">10.29</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Registration Rights Agreement, dated as of December 13, 2021, between the Company and each purchaser named in the signature pages thereto (incorporated by reference to Exhibit 10.2 to the Registrant&#8217;s Current Report on Form 8-K filed on December 15, 2021).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/924168/000092416822000013/a20220211ex101separationag.htm">10.30</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Separation Agreement and Release, dated as of February 11, 2022, between the Company and James Tu (incorporated by reference to Exhibit 10.1 to the Registrant&#8217;s Current Report on Form 8-K filed on February 17, 2022).</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex211-10xk123121.htm">21.1</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Subsidiaries of the Registrant (filed with this Report).</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex231-10xk123121.htm">23.1</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Consent of GBQ Partners, LLC, Independent Registered Public Accounting Firm (filed with this Report). </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex311-10xk123121.htm">31.1</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certification of Interim Chief Executive Officer Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex312-10xk123121.htm">31.2</a></span></div></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certification of Chief Financial Officer Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;text-decoration:underline" href="ex321-10xk123121.htm">32.1+</a></span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certification of Interim Chief Executive Officer and Chief Financial Officer Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101+**</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">The following financial information from Energy Focus, Inc. Annual Report on Form 10-K for the year ended December 31, 2021, formatted in Inline XBRL (eXtensible Business Reporting Language): (i) Consolidated Balance Sheets, (ii) Consolidated Statements of Operations, (iii) Consolidated Statements of Comprehensive Income (Loss), (iv) Consolidated Statements of Shareholders&#8217; Equity, (v) Consolidated Statements of Cash Flows, (vi) the Notes to Consolidated Financial Statements.</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">104**</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cover Page Interactive Data File (embedded within the Inline XBRL document).</span></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 6.62pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Management contract or compensatory plan or arrangement.</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">83</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="-sec-extract:summary"><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;margin-top:10pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:8.856%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:88.944%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">**</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Pursuant to Regulation S-T, this interactive data file is not deemed filed for purposes of Section 11 of the Securities Act, or Section 18 of the Exchange Act, or otherwise subject to the liabilities of these sections.</span></td></tr><tr><td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">+</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">This exhibit will not be deemed &#8220;filed&#8221; for purposes of Section 18 of the Exchange Act, or otherwise subject to the liability of that Section. Such exhibit shall not be deemed incorporated into any filing under the Securities Act or the Exchange Act.</span></td></tr><tr><td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">#</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Portions of this exhibit have been redacted in compliance with Regulation S-K Item 601(b)(10).</span></td></tr><tr><td colspan="3" style="padding:2px 6.62pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">##</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certain schedules and exhibits to this agreement have been omitted pursuant to Item 601(a)(5) of Regulation S-K. A copy of any omitted schedule or exhibit will be furnished to the Securities and Exchange Commission upon request.</span></td></tr></table></div><div id="i0aac58884afd43c7af148e399624b8eb_211"></div><div style="margin-bottom:10pt;margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ITEM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">16.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">FORM 10-K SUMMARY</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">84</span></div></div></div><div id="i0aac58884afd43c7af148e399624b8eb_214"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i0aac58884afd43c7af148e399624b8eb_7">Table of Contents</a></span></div><div><span><br/></span></div></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereto duly authorized.</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:45.380%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.005%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:3.738%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.732%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:40.545%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ENERGY FOCUS, INC.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date: March&#160;17, 2022</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Stephen Socolof</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stephen Socolof</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interim Chief Executive Officer and Director</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Executive Officer)</span></div></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities indicated and on the date indicated:</span></div><div style="margin-bottom:1pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:14.905%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.948%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.933%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.080%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.381%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.679%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Date</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Signature</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Title</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March&#160;17, 2022</span></div></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Stephen Socolof</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director and Interim Chief Executive Officer</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stephen Socolof</span></td><td colspan="9" style="padding:2px 4.37pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Executive Officer)</span></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March&#160;17, 2022</span></div></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Tod Nestor</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chief Operating Officer and Chief Financial Officer</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tod Nestor</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">(Principal Financial and Accounting Officer</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">)</span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March&#160;17, 2022</span></div></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Jennifer Y. Cheng</span></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jennifer Y. Cheng</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March&#160;17, 2022</span></div></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Gina Huang (Mei Yun Huang)</span></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gina Huang (Mei Yun Huang)</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March&#160;17, 2022</span></div></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Philip Politziner</span></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Philip Politziner</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March&#160;17, 2022</span></div></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Brian J. Lagarto</span></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Brian J. Lagarto</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March&#160;17, 2022</span></div></td><td colspan="9" style="border-bottom:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Jeffery R. Parker</span></td><td colspan="9" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt 2px 66.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Jeffery R. Parker</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">85</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>2
<FILENAME>ex211-10xk123121.htm
<DESCRIPTION>EX-21.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i4271d092ac8c4d12bab46e04323bd102_1"></div><div style="min-height:36pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 21.1</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SUBSIDIARIES</font></div><div style="text-align:center"><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Name</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Location</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Doing Business as</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Energy Focus LED Solutions, LLC&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Solon, Ohio&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Energy Focus LED Solutions, LLC</font></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>ex231-10xk123121.htm
<DESCRIPTION>EX-23.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i28bdf9af54f94a1798191ae164cdadce_1"></div><div style="min-height:36pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 23.1</font></div><div><font><br></font></div><div style="margin-bottom:8pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:130%">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font></div><div><font><br></font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Energy Focus, Inc.</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Solon, Ohio</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We hereby consent to the incorporation by reference in the Registration Statements on Form S-1 (No. 333-237614), and Form S-3 (Nos. 333-261905 and 333-261906) and Form S-8 (Nos. 333-249272, 333-219805, 333-206088, 333-197422, 333-193024, 333-184028 and 333-169274) of Energy Focus, Inc. (the &#34;Company&#34;) of our report dated March&#160;17, 2022, relating to the consolidated financial statements and financial statement schedule, which appear in the Company's Annual Report on Form</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10-K for the year ended December 31, 2021 to which this consent is filed as an exhibit. Our report contains an explanatory paragraph regarding the Company's ability to continue as a going concern.</font></div><div><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#47;s&#47; GBQ Partners, LLC</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Columbus, Ohio</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March&#160;17, 2022 </font></div><div><font><br></font></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>ex311-10xk123121.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="if83da709ec0944b6958f5dc1d9b80b49_1"></div><div style="min-height:31.5pt;width:100%"><div><font><br></font></div></div><div style="padding-right:4.5pt;text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:130%">EXHIBIT 31.1</font></div><div style="padding-right:4.5pt"><font><br></font></div><div style="padding-left:2.25pt;padding-right:2.25pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:130%">CERTIFICATION</font></div><div><font><br></font></div><div style="padding-right:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">I, Stephen Socolof, certify that&#58;</font></div><div style="padding-right:4.5pt"><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">I have reviewed this Annual Report on Form 10-K of Energy Focus, Inc.&#59;</font></div><div><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="padding-left:18pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="padding-left:18pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="padding-left:54pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="padding-left:54pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="padding-left:54pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="padding-left:54pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="padding-left:36pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information&#59; and</font></div><div><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.</font></div><div style="height:27pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:31.5pt;width:100%"><div><font><br></font></div></div><div style="margin-bottom:1pt;padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.500%"><tr><td style="width:1.0%"></td><td style="width:43.794%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.506%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.400%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">By&#58;</font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;text-decoration:underline">&#47;s&#47; Stephen Socolof               </font></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">Name&#58;</font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">Stephen Socolof</font></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">Title&#58;</font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">Interim Chief Executive Officer</font></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 17, 2022</font></td></tr></table></div><div style="height:27pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>ex312-10xk123121.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i1b8453aa98a2449fb183be506cfd346f_1"></div><div style="min-height:27pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:130%">EXHIBIT 31.2</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:130%">CERTIFICATION</font></div><div><font><br></font></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">I, Tod A. Nestor, certify that&#58;</font></div><div style="padding-right:4.5pt"><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">1.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">I have reviewed this Annual Report on Form 10-K of Energy Focus, Inc.&#59;</font></div><div><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">2.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report&#59;</font></div><div><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">3.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="padding-left:18pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">4.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="padding-left:18pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="padding-left:54pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="padding-left:54pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(c)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Evaluated the effectiveness of the registrant's disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="padding-left:54pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(d)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant's most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="padding-left:54pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:18pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">5.</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;padding-left:9pt">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="padding-left:36pt;padding-right:4.5pt"><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(a)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant's ability to record, process, summarize and report financial information&#59; and</font></div><div><font><br></font></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:130%">(b)</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">&#160;&#160;&#160;&#160;Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial reporting.</font></div><div style="height:27pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:27pt;width:100%"><div><font><br></font></div></div><div style="padding-left:54pt;padding-right:4.5pt;text-indent:-18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.500%"><tr><td style="width:1.0%"></td><td style="width:43.794%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.506%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:47.400%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">By&#58;</font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%;text-decoration:underline">&#47;s&#47; Tod A. Nestor                   </font></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">Name&#58;</font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">Tod A. Nestor</font></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">Title&#58;</font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">Chief Operating Officer and Chief Financial Officer </font></div></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 17, 2022</font></td></tr></table></div><div style="height:27pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>ex321-10xk123121.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2022 Workiva -->
<title>Document</title></head><body><div id="i0e38a62a5c7d4fa993f18e130de4cf86_1"></div><div style="min-height:36pt;width:100%"><div><font><br></font></div></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 32.1</font></div><div><font><br></font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350, AS ADOPTED</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div><font><br></font></div><div style="padding-right:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">In connection with the Annual Report of Energy Focus, Inc. (the &#8220;Company&#8221;) on Form 10-K for the year ended December&#160;31, 2021 (the &#8220;Report&#8221;), I, Stephen Socolof, Interim Chief Executive Officer of the Company, and I, Tod A. Nestor, Chief Operating Officer and Chief Financial Officer of the Company, each certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes Oxley Act of 2002, that to the best of my knowledge&#58;</font></div><div style="padding-right:4.5pt"><font><br></font></div><div style="padding-right:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">(i)   the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934&#59; and</font></div><div style="padding-right:4.5pt"><font><br></font></div><div style="padding-right:4.5pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:130%">(ii)  the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:50.705%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.122%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:34.873%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Stephen Socolof</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stephen Socolof<br>Interim Chief Executive Officer </font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 17, 2022</font></td></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:50.705%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.983%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:35.012%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Tod A. Nestor</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tod A. Nestor<br>Chief Operating Officer and Chief Financial Officer</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Date&#58; </font></div><div><font><br></font></div><div><font><br></font></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 17, 2022</font></td></tr></table></div><div><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A signed original of this written statement required by Section 906 has been provided to Energy Focus, Inc. and will be retained by Energy Focus, Inc. and furnished to the Securities and Exchange Commission or its staff upon request.</font></div><div><font><br></font></div><div style="height:36pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>7
<FILENAME>efoi-20211231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:13116448-71a2-4af8-9e91-d4c92f75b720,g:184c1f71-0180-45bd-bba3-700045272b27-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:efoi="http://www.energyfocusinc.com/20211231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.energyfocusinc.com/20211231">
  <xs:import namespace="http://fasb.org/srt/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/country/2021" schemaLocation="https://xbrl.sec.gov/country/2021/country-2021.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2021q4" schemaLocation="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="efoi-20211231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="efoi-20211231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="efoi-20211231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="efoi-20211231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="CoverPage" roleURI="http://www.energyfocusinc.com/role/CoverPage">
        <link:definition>0001001 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AuditInformation" roleURI="http://www.energyfocusinc.com/role/AuditInformation">
        <link:definition>0002002 - Document - Audit Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets">
        <link:definition>1001003 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical">
        <link:definition>1002004 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofOperations" roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations">
        <link:definition>1003005 - Statement - Consolidated Statements of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofOperationsParanthetical" roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperationsParanthetical">
        <link:definition>1004006 - Statement - Consolidated Statements of Operations (Paranthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofComprehensiveLoss" roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss">
        <link:definition>1005007 - Statement - Consolidated Statements of Comprehensive Loss</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofStockholdersEquity" roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity">
        <link:definition>1006008 - Statement - Consolidated Statements of Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofCashFlows" roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows">
        <link:definition>1007009 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofOperations" roleURI="http://www.energyfocusinc.com/role/NatureofOperations">
        <link:definition>2101101 - Disclosure - Nature of Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NatureofOperationsNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/NatureofOperationsNarrativeDetails">
        <link:definition>2402401 - Disclosure - Nature of Operations - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPolicies" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPolicies">
        <link:definition>2103102 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPolicies" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>2204201 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesTables" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesTables">
        <link:definition>2305301 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails">
        <link:definition>2406402 - Disclosure - Summary of Significant Accounting Policies - Cash and Cash Equivalents (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesInventoriesDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesInventoriesDetails">
        <link:definition>2407403 - Disclosure - Summary of Significant Accounting Policies - Inventories (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesAccountsReceivableDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAccountsReceivableDetails">
        <link:definition>2408404 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails">
        <link:definition>2409405 - Disclosure - Summary of Significant Accounting Policies - Financial Instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails">
        <link:definition>2410406 - Disclosure - Summary of Significant Accounting Policies - Fair Value Rollforward (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails">
        <link:definition>2411407 - Disclosure - Summary of Significant Accounting Policies - Long-lived Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesConcentrationRiskDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails">
        <link:definition>2412408 - Disclosure - Summary of Significant Accounting Policies - Concentration Risk (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails">
        <link:definition>2413409 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Income (Loss) per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesNetLossPerShareDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails">
        <link:definition>2414410 - Disclosure - Summary of Significant Accounting Policies - Net Loss Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesAdvertisingExpensesDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpensesDetails">
        <link:definition>2415411 - Disclosure - Summary of Significant Accounting Policies - Advertising Expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesProductWarrantiesDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails">
        <link:definition>2416412 - Disclosure - Summary of Significant Accounting Policies - Product Warranties (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails" roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails">
        <link:definition>2417413 - Disclosure - Summary of Significant Accounting Policies - Schedule of Warranty Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Restructuring" roleURI="http://www.energyfocusinc.com/role/Restructuring">
        <link:definition>2118103 - Disclosure - Restructuring</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RestructuringRestructuringTables" roleURI="http://www.energyfocusinc.com/role/RestructuringRestructuringTables">
        <link:definition>2319302 - Disclosure - Restructuring Restructuring (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RestructuringNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/RestructuringNarrativeDetails">
        <link:definition>2420414 - Disclosure - Restructuring - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RestructuringReconciliationofRestructuringLiabilityDetails" roleURI="http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails">
        <link:definition>2421415 - Disclosure - Restructuring - Reconciliation of Restructuring Liability (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.energyfocusinc.com/role/Leases">
        <link:definition>2122104 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.energyfocusinc.com/role/LeasesTables">
        <link:definition>2323303 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/LeasesNarrativeDetails">
        <link:definition>2424416 - Disclosure - Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesComponentsofLeaseCostDetails" roleURI="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails">
        <link:definition>2425417 - Disclosure - Leases - Components of Lease Cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofSupplementalBalanceSheetInformationDetails" roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails">
        <link:definition>2426418 - Disclosure - Leases - Schedule of Supplemental Balance Sheet Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails">
        <link:definition>2427419 - Disclosure - Leases - Schedule of Future Maturities of Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1">
        <link:definition>2427419 - Disclosure - Leases - Schedule of Future Maturities of Lease Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofSupplementalCashFlowInformationDetails" roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails">
        <link:definition>2428420 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Inventories" roleURI="http://www.energyfocusinc.com/role/Inventories">
        <link:definition>2129105 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesInventoriesTables" roleURI="http://www.energyfocusinc.com/role/InventoriesInventoriesTables">
        <link:definition>2330304 - Disclosure - Inventories Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesScheduleofInventoryDetails" roleURI="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails">
        <link:definition>2431421 - Disclosure - Inventories - Schedule of Inventory (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesReserveRollforwardDetails" roleURI="http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails">
        <link:definition>2432422 - Disclosure - Inventories - Reserve Rollforward (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/InventoriesNarrativeDetails">
        <link:definition>2433423 - Disclosure - Inventories - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipment" roleURI="http://www.energyfocusinc.com/role/PropertyandEquipment">
        <link:definition>2134106 - Disclosure - Property and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentTables" roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentTables">
        <link:definition>2335305 - Disclosure - Property and Equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyandEquipmentDetails" roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentDetails">
        <link:definition>2436424 - Disclosure - Property and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PrepaidExpensesandOtherCurrentAssets" roleURI="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssets">
        <link:definition>2137107 - Disclosure - Prepaid Expenses and Other Current Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PrepaidExpensesandOtherCurrentAssetsTables" roleURI="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsTables">
        <link:definition>2338306 - Disclosure - Prepaid Expenses and Other Current Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PrepaidExpensesandOtherCurrentAssetsDetails" roleURI="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails">
        <link:definition>2439425 - Disclosure - Prepaid Expenses and Other Current Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Debt" roleURI="http://www.energyfocusinc.com/role/Debt">
        <link:definition>2140108 - Disclosure - Debt</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtCreditFacilitiesDetails" roleURI="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails">
        <link:definition>2441426 - Disclosure - Debt - Credit Facilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtStreetervilleNoteDetails" roleURI="http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails">
        <link:definition>2442427 - Disclosure - Debt - Streeterville Note (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtPPPLoanDetails" roleURI="http://www.energyfocusinc.com/role/DebtPPPLoanDetails">
        <link:definition>2443428 - Disclosure - Debt - PPP Loan (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtIliadNoteDetails" roleURI="http://www.energyfocusinc.com/role/DebtIliadNoteDetails">
        <link:definition>2444429 - Disclosure - Debt - Iliad Note (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtConvertibleNotesDetails" roleURI="http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails">
        <link:definition>2445430 - Disclosure - Debt - Convertible Notes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingencies" roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingencies">
        <link:definition>2146109 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingenciesNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails">
        <link:definition>2447431 - Disclosure - Commitments and Contingencies - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquity" roleURI="http://www.energyfocusinc.com/role/StockholdersEquity">
        <link:definition>2148110 - Disclosure - Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityTables" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityTables">
        <link:definition>2349307 - Disclosure - Stockholders' Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityDecember2021PrivatePlacementDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails">
        <link:definition>2450432 - Disclosure - Stockholders' Equity - December 2021 Private Placement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails">
        <link:definition>2451433 - Disclosure - Stockholders' Equity - Warrants Outstanding from the December 2021 Private Placement (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityJune2021EquityOfferingDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails">
        <link:definition>2452434 - Disclosure - Stockholders' Equity - June 2021 Equity Offering (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityPreferredStockDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails">
        <link:definition>2453435 - Disclosure - Stockholders' Equity - Preferred Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquity1for5ReverseStockSplitDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquity1for5ReverseStockSplitDetails">
        <link:definition>2454436 - Disclosure - Stockholders' Equity - 1-for-5 Reverse Stock Split (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityJanuary2020EquityOfferingDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails">
        <link:definition>2455437 - Disclosure - Stockholders' Equity - January 2020 Equity Offering (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails">
        <link:definition>2456438 - Disclosure - Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityStockbasedCompensationDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails">
        <link:definition>2457439 - Disclosure - Stockholders' Equity - Stock-based Compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityImpactofResultsforStockBasedCompensationDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails">
        <link:definition>2458440 - Disclosure - Stockholders' Equity - Impact of Results for Stock-Based Compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityEstimatesUtilizedDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails">
        <link:definition>2459441 - Disclosure - Stockholders' Equity - Estimates Utilized (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityStockOptionsNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails">
        <link:definition>2460442 - Disclosure - Stockholders' Equity - Stock Options Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquitySummaryofOptionActivityDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails">
        <link:definition>2461443 - Disclosure - Stockholders' Equity - Summary of Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityOptionsOutstandingandExercisableDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails">
        <link:definition>2462444 - Disclosure - Stockholders' Equity - Options Outstanding and Exercisable (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityRestrictedStockUnitsNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails">
        <link:definition>2463445 - Disclosure - Stockholders' Equity - Restricted Stock Units Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquitySummaryofRestrictedStockActivityDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails">
        <link:definition>2464446 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockholdersEquityEmployeeStockPurchasePlansDetails" roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails">
        <link:definition>2465447 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.energyfocusinc.com/role/IncomeTaxes">
        <link:definition>2166111 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesTables" roleURI="http://www.energyfocusinc.com/role/IncomeTaxesTables">
        <link:definition>2367308 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesNarrativeDetails" roleURI="http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails">
        <link:definition>2468448 - Disclosure - Income Taxes - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesComponentsDetails" roleURI="http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails">
        <link:definition>2469449 - Disclosure - Income Taxes - Components (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesReconciliationDetails" roleURI="http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails">
        <link:definition>2470450 - Disclosure - Income Taxes - Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesTemporaryDifferencesDetails" roleURI="http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails">
        <link:definition>2471451 - Disclosure - Income Taxes - Temporary Differences (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ProductandGeographicInformation" roleURI="http://www.energyfocusinc.com/role/ProductandGeographicInformation">
        <link:definition>2172112 - Disclosure - Product and Geographic Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ProductandGeographicInformationTables" roleURI="http://www.energyfocusinc.com/role/ProductandGeographicInformationTables">
        <link:definition>2373309 - Disclosure - Product and Geographic Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ProductandGeographicInformationDetails" roleURI="http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails">
        <link:definition>2474452 - Disclosure - Product and Geographic Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherIncome" roleURI="http://www.energyfocusinc.com/role/OtherIncome">
        <link:definition>2175113 - Disclosure - Other Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherIncomeDetails" roleURI="http://www.energyfocusinc.com/role/OtherIncomeDetails">
        <link:definition>2476453 - Disclosure - Other Income (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RelatedPartyTransactions" roleURI="http://www.energyfocusinc.com/role/RelatedPartyTransactions">
        <link:definition>2177114 - Disclosure - Related Party Transactions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RelatedPartyTransactionsDetails" roleURI="http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails">
        <link:definition>2478454 - Disclosure - Related Party Transactions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LegalMatters" roleURI="http://www.energyfocusinc.com/role/LegalMatters">
        <link:definition>2179115 - Disclosure - Legal Matters</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SupplementaryFinancialInformationtoItem8" roleURI="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8">
        <link:definition>2180116 - Disclosure - Supplementary Financial Information to Item 8.</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SupplementaryFinancialInformationtoItem8Tables" roleURI="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Tables">
        <link:definition>2381310 - Disclosure - Supplementary Financial Information to Item 8. (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SupplementaryFinancialInformationtoItem8Details" roleURI="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details">
        <link:definition>2482455 - Disclosure - Supplementary Financial Information to Item 8. (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ScheduleIIScheduleofValuationandQualifyingAccounts" roleURI="http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccounts">
        <link:definition>2183117 - Disclosure - Schedule II - Schedule of Valuation and Qualifying Accounts</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ScheduleIIScheduleofValuationandQualifyingAccountsDetails" roleURI="http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails">
        <link:definition>2484456 - Disclosure - Schedule II - Schedule of Valuation and Qualifying Accounts (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="efoi_DebtInstrumentProceedsToBePaidToLenderPercent" abstract="false" name="DebtInstrumentProceedsToBePaidToLenderPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_ClassOfWarrantOrRightWarrantsIssued" abstract="false" name="ClassOfWarrantOrRightWarrantsIssued" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="efoi_RestructuredLeaseSubleaseIncome" abstract="false" name="RestructuredLeaseSubleaseIncome" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_RestructuredOperatingLeaseLiability" abstract="false" name="RestructuredOperatingLeaseLiability" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" abstract="false" name="FinanceLeaseRightOfUseAssetAccumulatedDepreciation" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_AustinFacilityMember" abstract="true" name="AustinFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DomesticSupplierMember" abstract="true" name="DomesticSupplierMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_InternationalMember" abstract="false" name="InternationalMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ContractWithCustomerPaymentTerms" abstract="false" name="ContractWithCustomerPaymentTerms" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="efoi_Plan2014Member" abstract="false" name="Plan2014Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_A5ElementsGlobalAdvisorsMember" abstract="true" name="A5ElementsGlobalAdvisorsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" abstract="true" name="SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_GovernmentProductsMember" abstract="false" name="GovernmentProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DebtInstrumentPrepaymentPremiumPercent" abstract="false" name="DebtInstrumentPrepaymentPremiumPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" abstract="true" name="FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" abstract="false" name="PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ToolingMember" abstract="false" name="ToolingMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" abstract="false" name="LineOfCreditFacilityMonthlyFacilityFeePercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_ExercisePriceRangeFourMember" abstract="false" name="ExercisePriceRangeFourMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_RestructuredOperatingLeaseLiabilityCurrent" abstract="false" name="RestructuredOperatingLeaseLiabilityCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_RestructuredOperatingLeaseRightOfUseAsset" abstract="false" name="RestructuredOperatingLeaseRightOfUseAsset" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LongLivedAssetsPolicyPolicyTextBlock" abstract="false" name="LongLivedAssetsPolicyPolicyTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="efoi_DistributorToTheU.S.NavyMember" abstract="true" name="DistributorToTheU.S.NavyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct" abstract="false" name="EmployerDeferredPayrollTaxesLiabilityCARESAct" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" abstract="false" name="ClassOfWarrantOrRightWarrantsIssuedPricePerShare" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:perShareItemType"/>
  <xs:element id="efoi_DebtInstrumentBaseRateVariable" abstract="false" name="DebtInstrumentBaseRateVariable" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_Plan2020Member" abstract="true" name="Plan2020Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" abstract="false" name="LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_January2020EquityOfferingPrivatePlacementMember" abstract="true" name="January2020EquityOfferingPrivatePlacementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_RestructuredLeaseOperatingLeaseCost" abstract="false" name="RestructuredLeaseOperatingLeaseCost" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_InventoryFacilityMember" abstract="true" name="InventoryFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ShipbuilderForUSNavyMember" abstract="true" name="ShipbuilderForUSNavyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" abstract="false" name="DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="efoi_DeferredTaxAssetsLeasingArrangements" abstract="false" name="DeferredTaxAssetsLeasingArrangements" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_DistributorToTheUSDepartmentOfDefenseMember" abstract="true" name="DistributorToTheUSDepartmentOfDefenseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_CommunalMember" abstract="false" name="CommunalMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_OffshoreSupplierMember" abstract="true" name="OffshoreSupplierMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_IncreaseDecreaseInInventoryLevelsGross" abstract="false" name="IncreaseDecreaseInInventoryLevelsGross" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" abstract="false" name="RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_JamesTuThroughFusionParkLLCMember" abstract="true" name="JamesTuThroughFusionParkLLCMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_PoolAndCommercialProductsMember" abstract="false" name="PoolAndCommercialProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LesseeOperatingLeaseInterestRateEffectiveRate" abstract="false" name="LesseeOperatingLeaseInterestRateEffectiveRate" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" abstract="false" name="AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" abstract="true" name="SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" abstract="true" name="DistributorToUSNavyCombinedWithSalesToShipbuildersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" abstract="false" name="DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_EmployeeMember" abstract="true" name="EmployeeMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_AuditInformationAbstract" abstract="true" name="AuditInformationAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" abstract="true" name="OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_AustinCreditFacilityMember" abstract="true" name="AustinCreditFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ExercisePriceRangeTwoMember" abstract="false" name="ExercisePriceRangeTwoMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_EmployeeStockPurchasePlan2013Member" abstract="false" name="EmployeeStockPurchasePlan2013Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityOverdraftFeePercent" abstract="false" name="LineOfCreditFacilityOverdraftFeePercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityCollateralManagementFeePercent" abstract="false" name="LineOfCreditFacilityCollateralManagementFeePercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_PaymentsForClearingFees" abstract="false" name="PaymentsForClearingFees" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ProceedsFromPaycheckProtectionProgram" abstract="false" name="ProceedsFromPaycheckProtectionProgram" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" abstract="false" name="LeaseSupplementalBalanceSheetInformationTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="efoi_GainLossOnForgivenessOfDebt" abstract="false" name="GainLossOnForgivenessOfDebt" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" abstract="false" name="DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" abstract="false" name="LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" abstract="false" name="DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" abstract="false" name="OperatingLeaseLiabilityIncludingRestructuredLeases" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_NonEmployeeDirectorMember" abstract="true" name="NonEmployeeDirectorMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_December2021PrivatePlacementMember" abstract="true" name="December2021PrivatePlacementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ReceivablesFacilityMember" abstract="true" name="ReceivablesFacilityMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_A13DGroupMember" abstract="true" name="A13DGroupMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" abstract="false" name="OperatingLeaseRightofUseAssetIncludingRestructuredLeases" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" abstract="false" name="RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_PercentageOfSeriesAPreferredStockEligibleToVote" abstract="false" name="PercentageOfSeriesAPreferredStockEligibleToVote" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_TwoCustomersMember" abstract="true" name="TwoCustomersMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityAnnualFeePercent" abstract="false" name="LineOfCreditFacilityAnnualFeePercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_EstimatedProceedsFromIssuanceOfWarrants" abstract="false" name="EstimatedProceedsFromIssuanceOfWarrants" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_WallStreetJournalHighestPrimeRateMember" abstract="true" name="WallStreetJournalHighestPrimeRateMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_StreetervilleNotePurchaseAgreementMember" abstract="true" name="StreetervilleNotePurchaseAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_TotalExpendituresMember" abstract="true" name="TotalExpendituresMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_InventoryValuationReservesSalesOfInventory" abstract="false" name="InventoryValuationReservesSalesOfInventory" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_IncreaseDecreaseInInventoryReserves" abstract="false" name="IncreaseDecreaseInInventoryReserves" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_FusionParkLLCMember" abstract="true" name="FusionParkLLCMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_FinanceLeaseRightOfUseAssetGross" abstract="false" name="FinanceLeaseRightOfUseAssetGross" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" abstract="false" name="LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" abstract="false" name="NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_A5ElementsEnergyEfficienciesBVILtdMember" abstract="true" name="A5ElementsEnergyEfficienciesBVILtdMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_InstitutionalInvestorMember" abstract="true" name="InstitutionalInvestorMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" abstract="false" name="LineOfCreditFacilityAvailableInventoryNetRealizableValue" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_AccumulatedInterestOnSubordinatedDebt" abstract="false" name="AccumulatedInterestOnSubordinatedDebt" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_PreFundedWarrantsMember" abstract="true" name="PreFundedWarrantsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_January2020EquityOfferingMember" abstract="true" name="January2020EquityOfferingMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_PaycheckProtectionProgramCARESActMember" abstract="true" name="PaycheckProtectionProgramCARESActMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_PaymentsForPlacementAgentCommissions" abstract="false" name="PaymentsForPlacementAgentCommissions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" abstract="false" name="SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:textBlockItemType"/>
  <xs:element id="efoi_PaymentProtectionProgramCurrent" abstract="false" name="PaymentProtectionProgramCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" abstract="false" name="ProceedsFromIssuanceOfCommonStockAndWarrants" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_FiveElementsEfficientiesBVILtdMember" abstract="false" name="FiveElementsEfficientiesBVILtdMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ExercisePriceRangeThreeMember" abstract="false" name="ExercisePriceRangeThreeMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" abstract="false" name="NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_RestructuredLeasesOperatingLeasePayments" abstract="false" name="RestructuredLeasesOperatingLeasePayments" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ExercisePriceRangeOneMember" abstract="false" name="ExercisePriceRangeOneMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_RestructuringReserveAccretion" abstract="false" name="RestructuringReserveAccretion" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_MMMLEDProductsMember" abstract="true" name="MMMLEDProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_UVCDProductsMember" abstract="true" name="UVCDProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_InventoryReserveRollForward" abstract="true" name="InventoryReserveRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" abstract="false" name="DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" abstract="false" name="PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LonglivedAssetsLocatedinUSPercent" abstract="false" name="LonglivedAssetsLocatedinUSPercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" abstract="false" name="LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_InventoryValuationReservesProvisionAccrual" abstract="false" name="InventoryValuationReservesProvisionAccrual" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_RegionalCommercialLightingRetrofitCompanyMember" abstract="true" name="RegionalCommercialLightingRetrofitCompanyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_OperatingLeaseCostNetOfSubleaseIncome" abstract="false" name="OperatingLeaseCostNetOfSubleaseIncome" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" abstract="false" name="LineOfCreditFacilityAnnualFacilityFeePeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" abstract="false" name="LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_YehMeiChengMember" abstract="false" name="YehMeiChengMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_DebtPrepaymentMaximumPercentage" abstract="false" name="DebtPrepaymentMaximumPercentage" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:percentItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityMonthlyFacilityFee" abstract="false" name="LineOfCreditFacilityMonthlyFacilityFee" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_BrilliantStartEnterpriseInc.Member" abstract="true" name="BrilliantStartEnterpriseInc.Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_GainLossFromEmployeeRetentionTaxCredit" abstract="false" name="GainLossFromEmployeeRetentionTaxCredit" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityMinimumRequirement" abstract="false" name="LineOfCreditFacilityMinimumRequirement" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_RobotsMember" abstract="true" name="RobotsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_PaymentProtectionProgramNoncurrent" abstract="false" name="PaymentProtectionProgramNoncurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_IncreaseDecreaseInProvisionForWarranties" abstract="false" name="IncreaseDecreaseInProvisionForWarranties" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" abstract="false" name="ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" abstract="false" name="PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_InventoryValuationReservesRawMaterials" abstract="false" name="InventoryValuationReservesRawMaterials" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_CommunalInternationalLtdMember" abstract="true" name="CommunalInternationalLtdMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_LineOfCreditFacilityAvailableInventory" abstract="false" name="LineOfCreditFacilityAvailableInventory" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="efoi_StandardProductWarrantyNumberofYears" abstract="false" name="StandardProductWarrantyNumberofYears" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="efoi_DebtInstrumentNumberOfCreditFacilities" abstract="false" name="DebtInstrumentNumberOfCreditFacilities" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="efoi_CommercialProductsMember" abstract="true" name="CommercialProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_CreditFacilitiesMember" abstract="true" name="CreditFacilitiesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_January2020InstitutionalInvestorMember" abstract="true" name="January2020InstitutionalInvestorMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_IliadNotePurchaseAgreementMember" abstract="true" name="IliadNotePurchaseAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="efoi_ExercisePriceRangeFiveMember" abstract="true" name="ExercisePriceRangeFiveMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>efoi-20211231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:13116448-71a2-4af8-9e91-d4c92f75b720,g:184c1f71-0180-45bd-bba3-700045272b27-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_981bff96-ec33-4199-bdde-57cdb3e0b67f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_7233008f-3d9d-4c78-9030-cc3aad5e40af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_981bff96-ec33-4199-bdde-57cdb3e0b67f" xlink:to="loc_us-gaap_CommonStockValue_7233008f-3d9d-4c78-9030-cc3aad5e40af" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_b6a634c4-dbcd-43d5-885b-cc0952f1e8ff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_981bff96-ec33-4199-bdde-57cdb3e0b67f" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_b6a634c4-dbcd-43d5-885b-cc0952f1e8ff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_b3010d78-0d35-4273-904f-31328e628db0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_981bff96-ec33-4199-bdde-57cdb3e0b67f" xlink:to="loc_us-gaap_PreferredStockValue_b3010d78-0d35-4273-904f-31328e628db0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_f5122968-2cdb-4ad2-994d-73e67e92ed10" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_981bff96-ec33-4199-bdde-57cdb3e0b67f" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_f5122968-2cdb-4ad2-994d-73e67e92ed10" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_57262e9e-82c0-44af-bbeb-a07277ee7d69" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_981bff96-ec33-4199-bdde-57cdb3e0b67f" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_57262e9e-82c0-44af-bbeb-a07277ee7d69" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_506f687e-cf19-4353-b7a4-2abd617e80d7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_19c8182d-7f3e-4845-a784-81b5227f773f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_506f687e-cf19-4353-b7a4-2abd617e80d7" xlink:to="loc_us-gaap_AssetsCurrent_19c8182d-7f3e-4845-a784-81b5227f773f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_64b064f5-088b-4a3d-af0b-80ae2bdd3a01" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_506f687e-cf19-4353-b7a4-2abd617e80d7" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_64b064f5-088b-4a3d-af0b-80ae2bdd3a01" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_3f0624df-af5a-4052-8e57-3144c2a729ff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_506f687e-cf19-4353-b7a4-2abd617e80d7" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_3f0624df-af5a-4052-8e57-3144c2a729ff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset_9d2f312c-53a5-42c4-853e-f645d944e8a0" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_506f687e-cf19-4353-b7a4-2abd617e80d7" xlink:to="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset_9d2f312c-53a5-42c4-853e-f645d944e8a0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_b5df6643-58d7-47b2-9677-e7dd56e07a67" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_AccountsPayableCurrent_b5df6643-58d7-47b2-9677-e7dd56e07a67" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_5e22df79-b345-4b61-84b6-dab7023cd76e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_5e22df79-b345-4b61-84b6-dab7023cd76e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent_be732d24-a7e2-4f29-8488-556f81c4a571" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_AccruedProfessionalFeesCurrent_be732d24-a7e2-4f29-8488-556f81c4a571" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent_eeb74da8-95e8-4c9c-a7d1-372b218a7f41" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_AccruedEmployeeBenefitsCurrent_eeb74da8-95e8-4c9c-a7d1-372b218a7f41" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_1983e0d9-5634-4b14-af15-99eebe299a0c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_1983e0d9-5634-4b14-af15-99eebe299a0c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent_e8601750-bcf4-42bf-8c76-7839675585a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_RestructuringReserveCurrent_e8601750-bcf4-42bf-8c76-7839675585a3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_3e5fc57b-adf3-4f59-b8e0-f5f28267b385" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_3e5fc57b-adf3-4f59-b8e0-f5f28267b385" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueCurrent_c339c4f8-76ca-461c-a437-17360ce78246" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredRevenueCurrent"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_DeferredRevenueCurrent_c339c4f8-76ca-461c-a437-17360ce78246" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_14343415-777c-47cd-9aa8-b43ed3bdd10d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_14343415-777c-47cd-9aa8-b43ed3bdd10d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiabilityCurrent_eca381a9-2acc-4c57-8693-ba1b16702be7" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_efoi_RestructuredOperatingLeaseLiabilityCurrent_eca381a9-2acc-4c57-8693-ba1b16702be7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityCurrent_39d9b289-c1f8-43f1-b6f8-9351af21c09c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityCurrent"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_FinanceLeaseLiabilityCurrent_39d9b289-c1f8-43f1-b6f8-9351af21c09c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableCurrent_29e2f1d5-dcbf-4f8b-940d-5348dfbd44ea" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesPayableCurrent"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_NotesPayableCurrent_29e2f1d5-dcbf-4f8b-940d-5348dfbd44ea" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramCurrent_861dc963-e9b0-4c39-895d-9aa2d86dc715" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramCurrent"/>
    <link:calculationArc order="13" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_efoi_PaymentProtectionProgramCurrent_861dc963-e9b0-4c39-895d-9aa2d86dc715" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent_9abecf7a-f5b3-47d0-9939-d020b7871fa3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:calculationArc order="14" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e9abcf94-c2ad-431e-bacd-8995e6c3ba06" xlink:to="loc_us-gaap_LinesOfCreditCurrent_9abecf7a-f5b3-47d0-9939-d020b7871fa3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_5c52918e-d31e-4655-a2a2-fffefceb2435" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_c5a8d173-6aa2-4182-a08b-717e0cec11ba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_5c52918e-d31e-4655-a2a2-fffefceb2435" xlink:to="loc_us-gaap_Liabilities_c5a8d173-6aa2-4182-a08b-717e0cec11ba" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_87cc232b-b39b-4e97-8e99-a28b88438c81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_5c52918e-d31e-4655-a2a2-fffefceb2435" xlink:to="loc_us-gaap_StockholdersEquity_87cc232b-b39b-4e97-8e99-a28b88438c81" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_b099a6e2-6515-47b0-8a14-61b0594f0f41" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_323e156a-4347-40a7-9f46-13e2c8a43374" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_b099a6e2-6515-47b0-8a14-61b0594f0f41" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_323e156a-4347-40a7-9f46-13e2c8a43374" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_059fd5e7-3cf2-4b10-808f-5abbf7725b5f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_b099a6e2-6515-47b0-8a14-61b0594f0f41" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_059fd5e7-3cf2-4b10-808f-5abbf7725b5f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_29355933-7efb-4d53-b09c-06816fe001a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_b099a6e2-6515-47b0-8a14-61b0594f0f41" xlink:to="loc_us-gaap_InventoryNet_29355933-7efb-4d53-b09c-06816fe001a6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepositsAssetsCurrent_a4654340-c555-4718-a68d-b2389f602594" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepositsAssetsCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_b099a6e2-6515-47b0-8a14-61b0594f0f41" xlink:to="loc_us-gaap_DepositsAssetsCurrent_a4654340-c555-4718-a68d-b2389f602594" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_ce581e92-54f4-4c37-b618-e042af6de344" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_b099a6e2-6515-47b0-8a14-61b0594f0f41" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_ce581e92-54f4-4c37-b618-e042af6de344" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_049e3983-4244-4425-9f95-db2d3c8f9cf4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_b7fecf88-2f9e-4b5b-8c5d-df47aafc23de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_049e3983-4244-4425-9f95-db2d3c8f9cf4" xlink:to="loc_us-gaap_LiabilitiesCurrent_b7fecf88-2f9e-4b5b-8c5d-df47aafc23de" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_a3d004db-602c-4b10-af61-fcab4e69ab56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_049e3983-4244-4425-9f95-db2d3c8f9cf4" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_a3d004db-602c-4b10-af61-fcab4e69ab56" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityNoncurrent_b565374f-8bce-4bcf-bd10-2e85a18216ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_049e3983-4244-4425-9f95-db2d3c8f9cf4" xlink:to="loc_us-gaap_FinanceLeaseLiabilityNoncurrent_b565374f-8bce-4bcf-bd10-2e85a18216ac" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramNoncurrent_269ad61c-5529-4864-8108-7143fa0e95ca" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramNoncurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_049e3983-4244-4425-9f95-db2d3c8f9cf4" xlink:to="loc_efoi_PaymentProtectionProgramNoncurrent_269ad61c-5529-4864-8108-7143fa0e95ca" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofOperations"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_166a425a-a50b-4c82-a5dc-5d228b9fb699" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_b81e5424-ada0-4a33-b617-fcaceaae53f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_166a425a-a50b-4c82-a5dc-5d228b9fb699" xlink:to="loc_us-gaap_GrossProfit_b81e5424-ada0-4a33-b617-fcaceaae53f5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_f25c2f70-aae0-4b3f-8fa4-bbaed3d486a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_166a425a-a50b-4c82-a5dc-5d228b9fb699" xlink:to="loc_us-gaap_OperatingExpenses_f25c2f70-aae0-4b3f-8fa4-bbaed3d486a1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_9bd7ba7c-074e-4ba3-8cd0-82f9ef8b8eb1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_8d46fdd7-45c9-4af9-9aa4-421ba47dc4c9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_9bd7ba7c-074e-4ba3-8cd0-82f9ef8b8eb1" xlink:to="loc_us-gaap_Revenues_8d46fdd7-45c9-4af9-9aa4-421ba47dc4c9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_f7861c88-16bc-4b4a-8198-5fcadda6e278" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_9bd7ba7c-074e-4ba3-8cd0-82f9ef8b8eb1" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_f7861c88-16bc-4b4a-8198-5fcadda6e278" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_0d45194b-e8cc-44cd-9e93-d758bfe5c4cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_bd690d2d-ed94-4e49-b652-2948bfba3f05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_0d45194b-e8cc-44cd-9e93-d758bfe5c4cf" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_bd690d2d-ed94-4e49-b652-2948bfba3f05" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_dcbed1aa-dfd1-49a8-8245-6f497cec8c92" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_0d45194b-e8cc-44cd-9e93-d758bfe5c4cf" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_dcbed1aa-dfd1-49a8-8245-6f497cec8c92" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCosts_bfb856fb-5989-4f8f-8cf0-495e61860169" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCosts"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingExpenses_0d45194b-e8cc-44cd-9e93-d758bfe5c4cf" xlink:to="loc_us-gaap_RestructuringCosts_bfb856fb-5989-4f8f-8cf0-495e61860169" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_0bee97df-6bef-4db7-9aa2-3aab197210ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_51b9e5fd-bb74-4093-899e-19772ab179c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_0bee97df-6bef-4db7-9aa2-3aab197210ab" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_51b9e5fd-bb74-4093-899e-19772ab179c4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_0076aeaf-58ec-485b-8aee-86aa812a0fc0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_0bee97df-6bef-4db7-9aa2-3aab197210ab" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_0076aeaf-58ec-485b-8aee-86aa812a0fc0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_924cd9d1-42db-47a7-a25f-6b2d35acb62b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_94113879-b25e-4412-9c11-e5495d0c6855" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_924cd9d1-42db-47a7-a25f-6b2d35acb62b" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_94113879-b25e-4412-9c11-e5495d0c6855" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_f2416718-4b38-4fc5-a7dd-38bd32a01956" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_924cd9d1-42db-47a7-a25f-6b2d35acb62b" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_f2416718-4b38-4fc5-a7dd-38bd32a01956" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_ef7424d7-bdfa-44e9-840f-277ec635f67a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_924cd9d1-42db-47a7-a25f-6b2d35acb62b" xlink:to="loc_us-gaap_InterestExpense_ef7424d7-bdfa-44e9-840f-277ec635f67a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_8ad65d40-8e50-47a4-bcb3-523a5dbef6f1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_924cd9d1-42db-47a7-a25f-6b2d35acb62b" xlink:to="loc_us-gaap_OperatingIncomeLoss_8ad65d40-8e50-47a4-bcb3-523a5dbef6f1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants_bdec8144-1199-4b69-9964-d3c983778f82" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_924cd9d1-42db-47a7-a25f-6b2d35acb62b" xlink:to="loc_us-gaap_FairValueAdjustmentOfWarrants_bdec8144-1199-4b69-9964-d3c983778f82" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_6c474699-cbd0-4475-b5d5-44bcbbc29963" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_924cd9d1-42db-47a7-a25f-6b2d35acb62b" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_6c474699-cbd0-4475-b5d5-44bcbbc29963" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_4e2d3623-8501-4f9d-a1aa-58076429da44" xlink:href="efoi-20211231.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_924cd9d1-42db-47a7-a25f-6b2d35acb62b" xlink:to="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_4e2d3623-8501-4f9d-a1aa-58076429da44" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofComprehensiveLoss"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_8b047daa-f55a-4483-b5ca-16a2c25fc42f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_a0e514e2-bd7c-420e-8b13-8d9308476bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_8b047daa-f55a-4483-b5ca-16a2c25fc42f" xlink:to="loc_us-gaap_NetIncomeLoss_a0e514e2-bd7c-420e-8b13-8d9308476bc5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_d5ab1787-de68-4a6c-b212-6b9f53dfb958" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_8b047daa-f55a-4483-b5ca-16a2c25fc42f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_d5ab1787-de68-4a6c-b212-6b9f53dfb958" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_9fd52bb2-4c0a-4bbd-b213-713a07065c87" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_5968e0d2-ba46-4cef-bcff-71a94acbdc23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_9fd52bb2-4c0a-4bbd-b213-713a07065c87" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_5968e0d2-ba46-4cef-bcff-71a94acbdc23" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_62a4056f-3c82-424e-87b8-03e99f4d0461" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_9fd52bb2-4c0a-4bbd-b213-713a07065c87" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_62a4056f-3c82-424e-87b8-03e99f4d0461" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_8ad5ee7d-cfa2-42a9-b459-6b601ecf77f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_9fd52bb2-4c0a-4bbd-b213-713a07065c87" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_8ad5ee7d-cfa2-42a9-b459-6b601ecf77f5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_458f43d1-6111-4894-b379-313b6b581196" xlink:href="efoi-20211231.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_458f43d1-6111-4894-b379-313b6b581196" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_fecb366c-7fb4-4c3c-847e-c7dc20449a64" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_fecb366c-7fb4-4c3c-847e-c7dc20449a64" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_ad9e52fb-a7b5-41e4-aa72-44bbb3f96101" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_Depreciation_ad9e52fb-a7b5-41e4-aa72-44bbb3f96101" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_1d1ce356-017d-4287-bc10-17a9aa542ea1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_ShareBasedCompensation_1d1ce356-017d-4287-bc10-17a9aa542ea1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants_56e5e03a-8ed1-45af-85e0-0b8dac119bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_FairValueAdjustmentOfWarrants_56e5e03a-8ed1-45af-85e0-0b8dac119bd9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_ac3ce1db-8c64-4e00-a802-6366dd8a1de7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_ac3ce1db-8c64-4e00-a802-6366dd8a1de7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_53c29673-50b1-4e74-a86c-da187cec481d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryWriteDown"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_InventoryWriteDown_53c29673-50b1-4e74-a86c-da187cec481d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties_b8b087cf-a595-477b-8004-655da63d3c93" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_efoi_IncreaseDecreaseInProvisionForWarranties_b8b087cf-a595-477b-8004-655da63d3c93" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium_2c113e9c-6db6-40e3-afbd-54955bebde1d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_AmortizationOfDebtDiscountPremium_2c113e9c-6db6-40e3-afbd-54955bebde1d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_383229b1-1ce5-474d-a236-9c715882bd48" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:calculationArc order="10" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_383229b1-1ce5-474d-a236-9c715882bd48" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_3365aee1-3f00-4d0c-b9dd-026dd8574f68" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="11" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_3365aee1-3f00-4d0c-b9dd-026dd8574f68" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_794cb5fe-2bfe-4b93-9ac1-8d19a542af1d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_794cb5fe-2bfe-4b93-9ac1-8d19a542af1d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_28513353-7315-4bb4-ae04-6fd98950e6fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/>
    <link:calculationArc order="13" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_28513353-7315-4bb4-ae04-6fd98950e6fd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_bb0bc6ee-50e8-4980-9ed7-8f9e5f625a1c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="14" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_bb0bc6ee-50e8-4980-9ed7-8f9e5f625a1c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_cb08e587-81fa-4fd8-a990-63e39a2cadad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="15" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_cb08e587-81fa-4fd8-a990-63e39a2cadad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_57b2a976-21b5-4edd-be62-4c6d9c6dd776" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:calculationArc order="16" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_57b2a976-21b5-4edd-be62-4c6d9c6dd776" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_e0817056-6359-4591-9255-ecee5bb4d88c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:calculationArc order="17" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_01e00070-248a-4458-bf23-bd96bf6f3fbb" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_e0817056-6359-4591-9255-ecee5bb4d88c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4358a846-df64-48b6-a596-2257de22aed9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_820db77b-1a76-42fd-a538-1507ad97d749" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4358a846-df64-48b6-a596-2257de22aed9" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_820db77b-1a76-42fd-a538-1507ad97d749" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_82bb8568-a212-4892-ae82-f690b7e62ba3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_46eec0e2-4562-4526-a31e-3cd8446707a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_82bb8568-a212-4892-ae82-f690b7e62ba3" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_46eec0e2-4562-4526-a31e-3cd8446707a8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_8afb436d-396a-4fb6-9a3f-c0701fee287e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_82bb8568-a212-4892-ae82-f690b7e62ba3" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_8afb436d-396a-4fb6-9a3f-c0701fee287e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_08265914-8969-403a-a393-aeed6969ff58" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_08265914-8969-403a-a393-aeed6969ff58" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises_e9a88a07-1e99-4049-a3d8-02a4fd2391ae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_ProceedsFromWarrantExercises_e9a88a07-1e99-4049-a3d8-02a4fd2391ae" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_d8bddfe4-6a84-4704-9b67-5a0f4de1821f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_d8bddfe4-6a84-4704-9b67-5a0f4de1821f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromPaycheckProtectionProgram_2e10acd8-4bad-46f5-858a-5c51cbb5929c" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromPaycheckProtectionProgram"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_efoi_ProceedsFromPaycheckProtectionProgram_2e10acd8-4bad-46f5-858a-5c51cbb5929c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_db3bb2b5-a6d8-406c-8d76-27b21634c0fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_db3bb2b5-a6d8-406c-8d76-27b21634c0fe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_b0f98720-da1a-4ba7-a63a-04eb0cb61187" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_b0f98720-da1a-4ba7-a63a-04eb0cb61187" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_d5593326-676e-42a7-be1e-5fdaa3905505" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_d5593326-676e-42a7-be1e-5fdaa3905505" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts_c0f52b5e-21fe-49ce-80b5-af12ba42edf5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:calculationArc order="8" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_PaymentsOfFinancingCosts_c0f52b5e-21fe-49ce-80b5-af12ba42edf5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_ecd2f4b5-934c-4e83-ac5c-fac30ff06c1b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_ecd2f4b5-934c-4e83-ac5c-fac30ff06c1b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromNotesPayable_be177fc1-aee8-417c-bf86-e50520ec471a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromNotesPayable"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_ProceedsFromNotesPayable_be177fc1-aee8-417c-bf86-e50520ec471a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_afa3891e-456e-4646-b450-8e4994f5249f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_09ec4d5b-a143-411d-8010-36a3452c6b6a" xlink:to="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_afa3891e-456e-4646-b450-8e4994f5249f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_06122bdc-db2b-4b29-9a18-da3ddec11d67" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_ca58fd8d-f07b-4a47-99c2-b3289505a4c9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_06122bdc-db2b-4b29-9a18-da3ddec11d67" xlink:to="loc_us-gaap_NetIncomeLoss_ca58fd8d-f07b-4a47-99c2-b3289505a4c9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_5fa1c000-af2a-4f5b-aa6a-6e7bcbe7b0dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_06122bdc-db2b-4b29-9a18-da3ddec11d67" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_5fa1c000-af2a-4f5b-aa6a-6e7bcbe7b0dc" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#RestructuringReconciliationofRestructuringLiabilityDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_5bc8dcba-7fb4-46a6-84c5-a287eb22cefd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent_bb6d468e-b70d-429f-871f-15a79f2a1f71" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_RestructuringReserve_5bc8dcba-7fb4-46a6-84c5-a287eb22cefd" xlink:to="loc_us-gaap_RestructuringReserveCurrent_bb6d468e-b70d-429f-871f-15a79f2a1f71" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveNoncurrent_11b58aab-933c-44b9-8bdb-b81ea1ec881c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_RestructuringReserve_5bc8dcba-7fb4-46a6-84c5-a287eb22cefd" xlink:to="loc_us-gaap_RestructuringReserveNoncurrent_11b58aab-933c-44b9-8bdb-b81ea1ec881c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesComponentsofLeaseCostDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_0326790c-d6cf-403b-b2fa-3b05b00ab07c" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseSubleaseIncome_eeee9bbd-a5b8-4ea0-9928-8ba32d5b8696" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseSubleaseIncome"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_0326790c-d6cf-403b-b2fa-3b05b00ab07c" xlink:to="loc_efoi_RestructuredLeaseSubleaseIncome_eeee9bbd-a5b8-4ea0-9928-8ba32d5b8696" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCost_1cd647df-7747-4cda-97cc-5540e046e05d" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseOperatingLeaseCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_0326790c-d6cf-403b-b2fa-3b05b00ab07c" xlink:to="loc_efoi_RestructuredLeaseOperatingLeaseCost_1cd647df-7747-4cda-97cc-5540e046e05d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_9a9aa215-25bb-4e98-8c0c-c264357ae605" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_ed72472d-9292-4f07-8b23-bc220da49439" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseCostNetOfSubleaseIncome"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_9a9aa215-25bb-4e98-8c0c-c264357ae605" xlink:to="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_ed72472d-9292-4f07-8b23-bc220da49439" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_e3dd5006-2fb1-43ba-ac10-bab4f5d878e7" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_9a9aa215-25bb-4e98-8c0c-c264357ae605" xlink:to="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_e3dd5006-2fb1-43ba-ac10-bab4f5d878e7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_f23bf057-3e3e-47bf-a0e0-4341d458e96b" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseCostNetOfSubleaseIncome"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_a6cf8dc8-dd7e-474c-954c-8b2de64f6d05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubleaseIncome"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_f23bf057-3e3e-47bf-a0e0-4341d458e96b" xlink:to="loc_us-gaap_SubleaseIncome_a6cf8dc8-dd7e-474c-954c-8b2de64f6d05" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_ee9aca06-15e5-4851-a313-4821cd9ba9db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_f23bf057-3e3e-47bf-a0e0-4341d458e96b" xlink:to="loc_us-gaap_OperatingLeaseCost_ee9aca06-15e5-4851-a313-4821cd9ba9db" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesScheduleofSupplementalBalanceSheetInformationDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_ae59a2a3-0c80-42c4-8f9e-7e4954775e0b" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseLiabilityIncludingRestructuredLeases"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_601d9f1c-500b-463c-b635-5e08de001618" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_ae59a2a3-0c80-42c4-8f9e-7e4954775e0b" xlink:to="loc_us-gaap_OperatingLeaseLiability_601d9f1c-500b-463c-b635-5e08de001618" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiability_9014cd40-e724-422e-819e-71ce10277a09" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_ae59a2a3-0c80-42c4-8f9e-7e4954775e0b" xlink:to="loc_efoi_RestructuredOperatingLeaseLiability_9014cd40-e724-422e-819e-71ce10277a09" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAsset_2e17a0d1-022c-4395-99c8-a39e89d680ab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAsset"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetGross_3f27de00-6884-4dd2-9727-198baa4dc00f" xlink:href="efoi-20211231.xsd#efoi_FinanceLeaseRightOfUseAssetGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAsset_2e17a0d1-022c-4395-99c8-a39e89d680ab" xlink:to="loc_efoi_FinanceLeaseRightOfUseAssetGross_3f27de00-6884-4dd2-9727-198baa4dc00f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_c002ea1f-a94f-4d2b-b285-b2920c72c480" xlink:href="efoi-20211231.xsd#efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAsset_2e17a0d1-022c-4395-99c8-a39e89d680ab" xlink:to="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_c002ea1f-a94f-4d2b-b285-b2920c72c480" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_c5487878-66e1-46c2-9746-1664c8beceec" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_fa713fb8-c130-415f-881a-e6b2c1b7cc6a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_c5487878-66e1-46c2-9746-1664c8beceec" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_fa713fb8-c130-415f-881a-e6b2c1b7cc6a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset_adff9394-40a8-484f-8785-5e0dd4f2b569" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_c5487878-66e1-46c2-9746-1664c8beceec" xlink:to="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset_adff9394-40a8-484f-8785-5e0dd4f2b569" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_8bd34698-7290-4bb3-b535-9d3bed81412f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths_d89ee29d-e1c2-4470-ab38-9df847cfb89b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_8bd34698-7290-4bb3-b535-9d3bed81412f" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths_d89ee29d-e1c2-4470-ab38-9df847cfb89b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo_65f9d56a-1a27-4f42-9a06-9b3b19853ce4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_8bd34698-7290-4bb3-b535-9d3bed81412f" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo_65f9d56a-1a27-4f42-9a06-9b3b19853ce4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree_800442c7-1e82-471e-b466-b1be5b202049" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_8bd34698-7290-4bb3-b535-9d3bed81412f" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree_800442c7-1e82-471e-b466-b1be5b202049" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour_4ac264f2-8004-4a8b-ae82-8f4538cb403f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_8bd34698-7290-4bb3-b535-9d3bed81412f" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour_4ac264f2-8004-4a8b-ae82-8f4538cb403f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive_20cb7218-5d49-43d4-b6c0-d3f2aa387bb6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_8bd34698-7290-4bb3-b535-9d3bed81412f" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive_20cb7218-5d49-43d4-b6c0-d3f2aa387bb6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1b25c327-89a1-49f1-9760-ac06f50683b4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_8a2c1fdb-03a4-4d3b-8131-2ceb9127bd42" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1b25c327-89a1-49f1-9760-ac06f50683b4" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_8a2c1fdb-03a4-4d3b-8131-2ceb9127bd42" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_32a7a6ac-3fa0-43c5-a80c-3169bcf0a1a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1b25c327-89a1-49f1-9760-ac06f50683b4" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_32a7a6ac-3fa0-43c5-a80c-3169bcf0a1a3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_6a968862-b029-4e92-98d6-8cb1920627d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1b25c327-89a1-49f1-9760-ac06f50683b4" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_6a968862-b029-4e92-98d6-8cb1920627d6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_3629fe55-6dad-4df1-9c60-c23cdac5e92e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1b25c327-89a1-49f1-9760-ac06f50683b4" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_3629fe55-6dad-4df1-9c60-c23cdac5e92e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_4cd09b74-e66a-49d1-86ef-07937a613ce9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1b25c327-89a1-49f1-9760-ac06f50683b4" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_4cd09b74-e66a-49d1-86ef-07937a613ce9" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_aad04b2b-98c0-40e1-9588-1c8fee19014b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_f9cd6187-bd29-40a9-8d31-8033972971ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_aad04b2b-98c0-40e1-9588-1c8fee19014b" xlink:to="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_f9cd6187-bd29-40a9-8d31-8033972971ed" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_679b92e0-9b41-4992-a3e0-899d471835e8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_aad04b2b-98c0-40e1-9588-1c8fee19014b" xlink:to="loc_us-gaap_FinanceLeaseLiability_679b92e0-9b41-4992-a3e0-899d471835e8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_4e6b5fc4-53f7-462f-9f5a-877a8e3c9bac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_51bbb518-4ea9-4bd3-96d7-976e9ff6ff8e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_4e6b5fc4-53f7-462f-9f5a-877a8e3c9bac" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_51bbb518-4ea9-4bd3-96d7-976e9ff6ff8e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_7d7011ca-19d4-470a-9669-9f2b87de7e1f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_4e6b5fc4-53f7-462f-9f5a-877a8e3c9bac" xlink:to="loc_us-gaap_OperatingLeaseLiability_7d7011ca-19d4-470a-9669-9f2b87de7e1f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#InventoriesScheduleofInventoryDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_1c4cbb4f-a32e-443b-b450-5e8cedb8fd15" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials_5c4b7146-f65f-4b8a-995a-4c8c9602569e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterials"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_1c4cbb4f-a32e-443b-b450-5e8cedb8fd15" xlink:to="loc_us-gaap_InventoryRawMaterials_5c4b7146-f65f-4b8a-995a-4c8c9602569e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods_f7f6d281-d918-4612-afda-a651a02b2c86" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_1c4cbb4f-a32e-443b-b450-5e8cedb8fd15" xlink:to="loc_us-gaap_InventoryFinishedGoods_f7f6d281-d918-4612-afda-a651a02b2c86" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves_88fcc3cd-5056-4c99-a4d1-7e090bdb5336" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserves"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_1c4cbb4f-a32e-443b-b450-5e8cedb8fd15" xlink:to="loc_us-gaap_InventoryValuationReserves_88fcc3cd-5056-4c99-a4d1-7e090bdb5336" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#PropertyandEquipmentDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_be7a62a5-0ea1-4ed2-9174-e42976e185e8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_806f42fb-4550-490e-a303-b05572d97e66" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_be7a62a5-0ea1-4ed2-9174-e42976e185e8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_806f42fb-4550-490e-a303-b05572d97e66" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_4991afec-beb3-4eb2-ba16-72b6734f7f05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_be7a62a5-0ea1-4ed2-9174-e42976e185e8" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_4991afec-beb3-4eb2-ba16-72b6734f7f05" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_3eb74ad0-4631-448d-a69c-cb9b1dfdcbb4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_4f120460-3227-4727-9f27-9a8f38f0f936" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_3eb74ad0-4631-448d-a69c-cb9b1dfdcbb4" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_4f120460-3227-4727-9f27-9a8f38f0f936" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_6b9597d0-0556-42a5-bd3e-1841d5e41d3c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_3eb74ad0-4631-448d-a69c-cb9b1dfdcbb4" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_6b9597d0-0556-42a5-bd3e-1841d5e41d3c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#PrepaidExpensesandOtherCurrentAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fe3e9fac-033a-4217-bf3c-73baeeb9b906" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidInsurance_1a9c8c3f-7998-4e30-a420-0a5847059563" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidInsurance"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fe3e9fac-033a-4217-bf3c-73baeeb9b906" xlink:to="loc_us-gaap_PrepaidInsurance_1a9c8c3f-7998-4e30-a420-0a5847059563" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherPrepaidExpenseCurrent_031d52cb-fa7f-4511-8b72-aa4516f7c347" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherPrepaidExpenseCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fe3e9fac-033a-4217-bf3c-73baeeb9b906" xlink:to="loc_us-gaap_OtherPrepaidExpenseCurrent_031d52cb-fa7f-4511-8b72-aa4516f7c347" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidRent_c0baaa1e-d4d7-4d8f-b237-ce6e73d8c52f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidRent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fe3e9fac-033a-4217-bf3c-73baeeb9b906" xlink:to="loc_us-gaap_PrepaidRent_c0baaa1e-d4d7-4d8f-b237-ce6e73d8c52f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecurityDeposit_c203765c-7cd6-4909-835e-34abcc9d8c44" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SecurityDeposit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fe3e9fac-033a-4217-bf3c-73baeeb9b906" xlink:to="loc_us-gaap_SecurityDeposit_c203765c-7cd6-4909-835e-34abcc9d8c44" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash_641aaa62-6f38-4690-9487-4e7cfc8c4e55" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCash"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fe3e9fac-033a-4217-bf3c-73baeeb9b906" xlink:to="loc_us-gaap_RestrictedCash_641aaa62-6f38-4690-9487-4e7cfc8c4e55" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_13d4a823-9897-44e6-9571-c21bd59dffbe" xlink:href="efoi-20211231.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fe3e9fac-033a-4217-bf3c-73baeeb9b906" xlink:to="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_13d4a823-9897-44e6-9571-c21bd59dffbe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_1bac2642-a976-493b-9510-45af4eaeaa3a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_fe3e9fac-033a-4217-bf3c-73baeeb9b906" xlink:to="loc_us-gaap_OtherAssetsCurrent_1bac2642-a976-493b-9510-45af4eaeaa3a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesComponentsDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_9b384eb3-739f-4946-a4ce-d2bce9439a5e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_64223638-5e7c-45c1-8468-b84753812224" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_9b384eb3-739f-4946-a4ce-d2bce9439a5e" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_64223638-5e7c-45c1-8468-b84753812224" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_6e46c236-148a-4471-9dc8-2d194578c7ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_9b384eb3-739f-4946-a4ce-d2bce9439a5e" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_6e46c236-148a-4471-9dc8-2d194578c7ca" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesReconciliationDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_5cb22211-2cf5-405d-8e00-bf1e91f15c6b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_01c38f15-a58a-4456-b19a-bd86717bb534" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_5cb22211-2cf5-405d-8e00-bf1e91f15c6b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_01c38f15-a58a-4456-b19a-bd86717bb534" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_b01b942c-cfae-4a28-9345-77c184099aa7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_5cb22211-2cf5-405d-8e00-bf1e91f15c6b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_b01b942c-cfae-4a28-9345-77c184099aa7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_163b348a-a8a6-4b12-afd8-ce65e5f8b0cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_5cb22211-2cf5-405d-8e00-bf1e91f15c6b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_163b348a-a8a6-4b12-afd8-ce65e5f8b0cd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_c57c2b33-725e-42b3-a6bf-c6c6dacda610" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_5cb22211-2cf5-405d-8e00-bf1e91f15c6b" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_c57c2b33-725e-42b3-a6bf-c6c6dacda610" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesTemporaryDifferencesDetails"/>
  <link:calculationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_dcc3eb3b-05c2-4be8-9495-d66c943f14a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_1405dd2a-6229-4e3b-a190-2bcb3421b0ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_dcc3eb3b-05c2-4be8-9495-d66c943f14a5" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_1405dd2a-6229-4e3b-a190-2bcb3421b0ed" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_d2a0a892-7855-4ff0-8c44-c3b410f31b61" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_dcc3eb3b-05c2-4be8-9495-d66c943f14a5" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_d2a0a892-7855-4ff0-8c44-c3b410f31b61" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsLeasingArrangements_7141982d-a051-4aae-bc20-4ae9553a617e" xlink:href="efoi-20211231.xsd#efoi_DeferredTaxAssetsLeasingArrangements"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_dcc3eb3b-05c2-4be8-9495-d66c943f14a5" xlink:to="loc_efoi_DeferredTaxAssetsLeasingArrangements_7141982d-a051-4aae-bc20-4ae9553a617e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_64748c5e-d790-4f17-9cb7-5d4306b4af99" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_dcc3eb3b-05c2-4be8-9495-d66c943f14a5" xlink:to="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_64748c5e-d790-4f17-9cb7-5d4306b4af99" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_0e774485-3b95-4ee1-bd80-e28e59ccb490" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_dcc3eb3b-05c2-4be8-9495-d66c943f14a5" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_0e774485-3b95-4ee1-bd80-e28e59ccb490" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_ab393a08-7baa-473c-85ab-9f11e44e36f2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_dcc3eb3b-05c2-4be8-9495-d66c943f14a5" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_ab393a08-7baa-473c-85ab-9f11e44e36f2" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>9
<FILENAME>efoi-20211231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:13116448-71a2-4af8-9e91-d4c92f75b720,g:184c1f71-0180-45bd-bba3-700045272b27-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended" id="i03c07d3b9202438ba1aa49186c88c0fc_ConsolidatedBalanceSheetsParenthetical">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_73d77f3c-a84a-45b9-a51b-ab55f5d23cd1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_73d77f3c-a84a-45b9-a51b-ab55f5d23cd1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_69119d9f-b01c-4437-9851-1772dcc8c8b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_69119d9f-b01c-4437-9851-1772dcc8c8b6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_b28a6413-f759-4807-acfa-0e604bf85216" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_b28a6413-f759-4807-acfa-0e604bf85216" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_e365c095-cd38-4146-99bd-21921ce9b116" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_PreferredStockSharesIssued_e365c095-cd38-4146-99bd-21921ce9b116" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_d9505396-ef2c-48ee-b6ec-106c6ffd30a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_d9505396-ef2c-48ee-b6ec-106c6ffd30a9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_02feef75-7ce4-411b-aab7-48ba0e16cc7d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_02feef75-7ce4-411b-aab7-48ba0e16cc7d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_9c69db20-d839-417b-937d-a8a5ba3da01f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_9c69db20-d839-417b-937d-a8a5ba3da01f" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_137e286c-942e-41fd-9e34-b496f60fa029" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_CommonStockSharesIssued_137e286c-942e-41fd-9e34-b496f60fa029" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_0c2b7475-818f-4e05-999a-f576ae9df493" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_0c2b7475-818f-4e05-999a-f576ae9df493" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_8f48d70c-203c-4225-8b70-449b953dab9a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_StatementTable_8f48d70c-203c-4225-8b70-449b953dab9a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_0ffad4d6-9484-47a3-bb27-9932884b911b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_8f48d70c-203c-4225-8b70-449b953dab9a" xlink:to="loc_us-gaap_StatementClassOfStockAxis_0ffad4d6-9484-47a3-bb27-9932884b911b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_0ffad4d6-9484-47a3-bb27-9932884b911b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_0ffad4d6-9484-47a3-bb27-9932884b911b" xlink:to="loc_us-gaap_ClassOfStockDomain_0ffad4d6-9484-47a3-bb27-9932884b911b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_e05ef486-6f1f-4359-bdae-80b324affee4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_0ffad4d6-9484-47a3-bb27-9932884b911b" xlink:to="loc_us-gaap_ClassOfStockDomain_e05ef486-6f1f-4359-bdae-80b324affee4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_517c7c9f-8e71-4a61-8d7e-b437bf93af3f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_e05ef486-6f1f-4359-bdae-80b324affee4" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_517c7c9f-8e71-4a61-8d7e-b437bf93af3f" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofStockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="extended" id="ie7e097716ad44c01a1406f522e479806_ConsolidatedStatementsofStockholdersEquity">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_2fbbfe71-9164-4434-9f63-5b3f1ca57875" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_2fbbfe71-9164-4434-9f63-5b3f1ca57875" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_10319787-03f0-4faa-9bc7-a678834949a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_SharesOutstanding_10319787-03f0-4faa-9bc7-a678834949a6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_cdf63a60-eb17-4565-ab10-ea7582e14fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockholdersEquity_cdf63a60-eb17-4565-ab10-ea7582e14fbd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_3553d011-857d-4cd0-85d6-63386e6d8b77" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_3553d011-857d-4cd0-85d6-63386e6d8b77" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_d9fcc271-303d-4936-b3af-d14342c64b72" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_d9fcc271-303d-4936-b3af-d14342c64b72" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_f13d847a-a354-4dc7-ac42-8de864c768dd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_f13d847a-a354-4dc7-ac42-8de864c768dd" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease_b6eb00e5-6411-402f-a599-9cd97ac180d2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease_b6eb00e5-6411-402f-a599-9cd97ac180d2" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_57200bcb-96dd-44a8-b2a0-5bf75bc7e55c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_57200bcb-96dd-44a8-b2a0-5bf75bc7e55c" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_6c2abee5-b697-43be-b5dd-68a9381aca87" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_6c2abee5-b697-43be-b5dd-68a9381aca87" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_86327853-e2ad-477f-8d14-dd28bc2edc37" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_86327853-e2ad-477f-8d14-dd28bc2edc37" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants_cd624c48-6bb5-49d0-8531-9047408b19fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants_cd624c48-6bb5-49d0-8531-9047408b19fe" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued_c84c34eb-6cff-4a93-b0c9-a5b0cbda2841" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued_c84c34eb-6cff-4a93-b0c9-a5b0cbda2841" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_9a9d27b9-f272-42fa-98c7-69c830932276" xlink:href="efoi-20211231.xsd#efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_9a9d27b9-f272-42fa-98c7-69c830932276" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_4328c28b-1f83-49c3-b1cf-6635703d7761" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_4328c28b-1f83-49c3-b1cf-6635703d7761" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_08d37a1c-1b86-4ddc-bff5-ca218abc861a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_08d37a1c-1b86-4ddc-bff5-ca218abc861a" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_85b27b38-b647-409a-a7e2-e53ce34d942d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_85b27b38-b647-409a-a7e2-e53ce34d942d" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_52929f7c-81fa-4885-b78d-228bc3aa6074" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_NetIncomeLoss_52929f7c-81fa-4885-b78d-228bc3aa6074" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_909cfa66-ccf3-408a-a7d2-cbbb13ba9606" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_d4900f1a-b17c-4a69-af3d-89dda11b37f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_2fbbfe71-9164-4434-9f63-5b3f1ca57875" xlink:to="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_a79c4862-cf53-4e32-b73b-4854cd951268" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_a79c4862-cf53-4e32-b73b-4854cd951268" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_a79c4862-cf53-4e32-b73b-4854cd951268_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_a79c4862-cf53-4e32-b73b-4854cd951268" xlink:to="loc_us-gaap_EquityComponentDomain_a79c4862-cf53-4e32-b73b-4854cd951268_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_a79c4862-cf53-4e32-b73b-4854cd951268" xlink:to="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_66b953e4-e882-4a86-b1bf-2931cfc21b01" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_PreferredStockMember_66b953e4-e882-4a86-b1bf-2931cfc21b01" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_5aa5de50-f678-4120-82d7-d7d1d2e472d4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_CommonStockMember_5aa5de50-f678-4120-82d7-d7d1d2e472d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_1959ea79-7848-42fe-a14c-96a01b198b34" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_1959ea79-7848-42fe-a14c-96a01b198b34" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_afa3afbb-b247-4912-9818-60b798c163a7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_afa3afbb-b247-4912-9818-60b798c163a7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_5a5c85bb-8ff3-461a-8df3-8022b91d13d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_RetainedEarningsMember_5a5c85bb-8ff3-461a-8df3-8022b91d13d0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_a58b3548-5126-4119-93a7-49987d04c99a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:to="loc_us-gaap_AwardTypeAxis_a58b3548-5126-4119-93a7-49987d04c99a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a58b3548-5126-4119-93a7-49987d04c99a_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_a58b3548-5126-4119-93a7-49987d04c99a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_a58b3548-5126-4119-93a7-49987d04c99a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f24212a2-079b-4f5b-9095-39015ea4810b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_a58b3548-5126-4119-93a7-49987d04c99a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f24212a2-079b-4f5b-9095-39015ea4810b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_61e4f402-5d60-44f1-a649-53c9a7e87546" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f24212a2-079b-4f5b-9095-39015ea4810b" xlink:to="loc_us-gaap_PreferredStockMember_61e4f402-5d60-44f1-a649-53c9a7e87546" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended" id="i4579cd89458a4c9db76450f26ef2c55e_ConsolidatedStatementsofCashFlows">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_9b6af7d3-7c83-441d-bc54-9b4672d66a68" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:to="loc_us-gaap_NetIncomeLoss_9b6af7d3-7c83-441d-bc54-9b4672d66a68" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_180626dd-ada4-4282-b889-683a917e241e" xlink:href="efoi-20211231.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_180626dd-ada4-4282-b889-683a917e241e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_19452c79-c540-4ea8-bde5-8b44c380e6b9" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_19452c79-c540-4ea8-bde5-8b44c380e6b9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_0f9be142-6866-41ec-9915-bf63b9ee3273" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_Depreciation_0f9be142-6866-41ec-9915-bf63b9ee3273" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_7d1946e3-285f-4628-959a-496ea228122a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_ShareBasedCompensation_7d1946e3-285f-4628-959a-496ea228122a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants_702dc714-8c50-43ff-833c-c1a2056d344b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_FairValueAdjustmentOfWarrants_702dc714-8c50-43ff-833c-c1a2056d344b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_4dccd9c0-e7d9-4a5e-932b-58cd8825c760" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_4dccd9c0-e7d9-4a5e-932b-58cd8825c760" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_3d2a5d1d-9037-4fe4-99c6-69f41b79a194" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryWriteDown"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_InventoryWriteDown_3d2a5d1d-9037-4fe4-99c6-69f41b79a194" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties_02596a13-6384-4d4e-9a5f-8eb927a204a2" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_efoi_IncreaseDecreaseInProvisionForWarranties_02596a13-6384-4d4e-9a5f-8eb927a204a2" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium_504d4052-cd6e-48f0-a24f-825db01c1d50" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_AmortizationOfDebtDiscountPremium_504d4052-cd6e-48f0-a24f-825db01c1d50" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_e7d2b3f1-27ce-446e-97a5-c04218694847" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_e7d2b3f1-27ce-446e-97a5-c04218694847" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2186c7a1-85bc-4188-b731-f5347dcfb578" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2186c7a1-85bc-4188-b731-f5347dcfb578" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_c690c28d-7e7d-4d9a-be23-838b1499c96f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_c690c28d-7e7d-4d9a-be23-838b1499c96f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_5124c267-2454-48f4-96c4-048490b416dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_5124c267-2454-48f4-96c4-048490b416dc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_fca51a84-6bc1-46e4-8106-528d267d4220" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_fca51a84-6bc1-46e4-8106-528d267d4220" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_8128aa7e-5b2a-440e-a993-6c0494d5d539" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_8128aa7e-5b2a-440e-a993-6c0494d5d539" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_2540a1f0-b94f-42d1-ae43-b52b47c00fac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_2540a1f0-b94f-42d1-ae43-b52b47c00fac" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_bbfda35c-3587-45ca-b8be-ac257378fc47" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_bbfda35c-3587-45ca-b8be-ac257378fc47" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_38247844-e016-40c5-b811-a090b2ae2380" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_38247844-e016-40c5-b811-a090b2ae2380" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1dbc2cd8-1437-4a10-a087-499b7bbcff05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1dbc2cd8-1437-4a10-a087-499b7bbcff05" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1423d8b7-3e0c-4822-aa75-6f44a42e8afb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1423d8b7-3e0c-4822-aa75-6f44a42e8afb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2879cb75-900f-4b98-944f-1e5529bbf509" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1423d8b7-3e0c-4822-aa75-6f44a42e8afb" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2879cb75-900f-4b98-944f-1e5529bbf509" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9ea1df4b-7c3f-4abc-a9ef-e35d1cd0fc24" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1423d8b7-3e0c-4822-aa75-6f44a42e8afb" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9ea1df4b-7c3f-4abc-a9ef-e35d1cd0fc24" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_937ad20d-b984-4c14-8868-673cc61b5d0c" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_937ad20d-b984-4c14-8868-673cc61b5d0c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises_2692d33c-7383-4a20-b4fe-82f73ea37fd5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_ProceedsFromWarrantExercises_2692d33c-7383-4a20-b4fe-82f73ea37fd5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_2c0f40bb-f03f-4c3c-90c6-178039161858" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_2c0f40bb-f03f-4c3c-90c6-178039161858" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromPaycheckProtectionProgram_78b0b64c-102c-4233-8559-31524c770064" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromPaycheckProtectionProgram"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_efoi_ProceedsFromPaycheckProtectionProgram_78b0b64c-102c-4233-8559-31524c770064" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_453e8916-1a1d-4552-9233-e11056538ce0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_453e8916-1a1d-4552-9233-e11056538ce0" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_c6f4d653-346a-4db1-b6fc-157f1accbfe5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_c6f4d653-346a-4db1-b6fc-157f1accbfe5" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_4c6a83ec-93be-4b66-924c-a24edee8d5d2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_4c6a83ec-93be-4b66-924c-a24edee8d5d2" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts_1c7a8d44-1e34-4c6b-81f9-fb015fba7b76" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_PaymentsOfFinancingCosts_1c7a8d44-1e34-4c6b-81f9-fb015fba7b76" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_62f4b3e0-2c9c-451a-bd0e-1e9d48437916" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_62f4b3e0-2c9c-451a-bd0e-1e9d48437916" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromNotesPayable_03eab5f2-9d92-4c22-a73a-3ca728948dc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromNotesPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_ProceedsFromNotesPayable_03eab5f2-9d92-4c22-a73a-3ca728948dc5" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_ee4182b8-20d3-497b-9d45-a0c7c1994dd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_ee4182b8-20d3-497b-9d45-a0c7c1994dd7" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_894c0327-b66f-4f86-815c-72c016ce3dcc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_894c0327-b66f-4f86-815c-72c016ce3dcc" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d4d6f600-6e14-471a-b485-d3db896f3d29" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d4d6f600-6e14-471a-b485-d3db896f3d29" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2cc7935d-32db-4a2e-b7a8-7f56be7fdb27" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2cc7935d-32db-4a2e-b7a8-7f56be7fdb27" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_60af5626-3389-4384-b2e5-906b14fb8a8e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_9d194ea3-3ec3-443a-ad0a-4cbe3b4d723d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_9d194ea3-3ec3-443a-ad0a-4cbe3b4d723d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_5750b8d5-73ec-4ab1-8ad0-a82b1b5808c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_5750b8d5-73ec-4ab1-8ad0-a82b1b5808c2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_270b90ff-219e-44c1-8826-263d6226ec6c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_91b99f8c-3ea1-4360-af7d-d1095d4fa58e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_91b99f8c-3ea1-4360-af7d-d1095d4fa58e" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_268ba104-1b71-40c4-ba03-532433d9de9f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_91b99f8c-3ea1-4360-af7d-d1095d4fa58e" xlink:to="loc_us-gaap_InterestPaidNet_268ba104-1b71-40c4-ba03-532433d9de9f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaid_221f3523-6cb2-4b28-9b38-1270f4a98ebe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaid"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_91b99f8c-3ea1-4360-af7d-d1095d4fa58e" xlink:to="loc_us-gaap_IncomeTaxesPaid_221f3523-6cb2-4b28-9b38-1270f4a98ebe" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_89ed7d42-d5b5-434a-83c4-d67a7157e0e8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_StatementTable_89ed7d42-d5b5-434a-83c4-d67a7157e0e8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_89ed7d42-d5b5-434a-83c4-d67a7157e0e8" xlink:to="loc_us-gaap_DebtInstrumentAxis_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_f0d0a39f-a482-40f0-be9c-6eeb8036325c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_f0d0a39f-a482-40f0-be9c-6eeb8036325c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinCreditFacilityMember_5f9ef57d-46d9-4976-ab59-accb3dde44bd" xlink:href="efoi-20211231.xsd#efoi_AustinCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_f0d0a39f-a482-40f0-be9c-6eeb8036325c" xlink:to="loc_efoi_AustinCreditFacilityMember_5f9ef57d-46d9-4976-ab59-accb3dde44bd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CreditFacilitiesMember_7c5c55de-1f44-49b7-be3f-02be44482199" xlink:href="efoi-20211231.xsd#efoi_CreditFacilitiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_f0d0a39f-a482-40f0-be9c-6eeb8036325c" xlink:to="loc_efoi_CreditFacilitiesMember_7c5c55de-1f44-49b7-be3f-02be44482199" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails" xlink:type="extended" id="i5e18755146c04e67b3c1a45c91e5bce7_SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_b29cdce9-afd8-4af7-925e-93564814981c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_b29cdce9-afd8-4af7-925e-93564814981c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_a9775484-7ef8-4043-b857-53614a2e8b28" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_a9775484-7ef8-4043-b857-53614a2e8b28" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_0487be75-b5fc-4961-98bd-ebb423fa33af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_0487be75-b5fc-4961-98bd-ebb423fa33af" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_fac32e1b-8b90-4c20-9bed-5f1121d2c745" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_fac32e1b-8b90-4c20-9bed-5f1121d2c745" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_eaaf5522-d86d-4481-937f-7c0f160839c2" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_eaaf5522-d86d-4481-937f-7c0f160839c2" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_71f657e2-b355-42ec-a9f0-8d0b6cf6e278" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_71f657e2-b355-42ec-a9f0-8d0b6cf6e278" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_b65335ff-5b3f-41a2-aa65-977ed034da76" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_b65335ff-5b3f-41a2-aa65-977ed034da76" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_cbb7bff0-8bc9-4326-b13f-6d76b15b4dd0" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_PaymentsForClearingFees_cbb7bff0-8bc9-4326-b13f-6d76b15b4dd0" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_db294268-316f-481f-a1b9-8013c6b6d7f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_db294268-316f-481f-a1b9-8013c6b6d7f6" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_e5da6ff2-f6a0-43f4-8dca-a50a669ccb04" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_e5da6ff2-f6a0-43f4-8dca-a50a669ccb04" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_9d6884d9-a9c1-491e-8a1c-87a4af01d135" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_9d6884d9-a9c1-491e-8a1c-87a4af01d135" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_47540b18-ba20-442c-960e-3c5fdd1c69ef" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentProceedsToBePaidToLenderPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_47540b18-ba20-442c-960e-3c5fdd1c69ef" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_3ef7112c-8f00-4418-94af-edc54e3fc500" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_3ef7112c-8f00-4418-94af-edc54e3fc500" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_d07c454a-cb98-47a0-907d-973990514cd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_d07c454a-cb98-47a0-907d-973990514cd3" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_4cb15de2-da74-4760-bca6-64ca55f40502" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_4cb15de2-da74-4760-bca6-64ca55f40502" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_ea39d639-f87b-408f-82b6-7bc6646de50c" xlink:href="efoi-20211231.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_ea39d639-f87b-408f-82b6-7bc6646de50c" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises_7d4b2ed1-0bfd-4700-8b6a-685bef92333c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ProceedsFromWarrantExercises_7d4b2ed1-0bfd-4700-8b6a-685bef92333c" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_fbea75c4-f1dd-40c2-8d22-a987454d01f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_fbea75c4-f1dd-40c2-8d22-a987454d01f9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_fbea75c4-f1dd-40c2-8d22-a987454d01f9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_fbea75c4-f1dd-40c2-8d22-a987454d01f9" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_fbea75c4-f1dd-40c2-8d22-a987454d01f9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_fbea75c4-f1dd-40c2-8d22-a987454d01f9" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_8608a1a5-1f26-4db9-a5fb-266d9b6d9799" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:to="loc_efoi_December2021PrivatePlacementMember_8608a1a5-1f26-4db9-a5fb-266d9b6d9799" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_82717c88-35ac-4758-af7d-c8bc5158f4a8" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:to="loc_efoi_InstitutionalInvestorMember_82717c88-35ac-4758-af7d-c8bc5158f4a8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_82660837-e417-4dd2-9bd4-87b8b8359075" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:to="loc_efoi_January2020EquityOfferingMember_82660837-e417-4dd2-9bd4-87b8b8359075" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember_68c1db9e-9b72-4cb8-938f-10cfcd4642d4" xlink:href="efoi-20211231.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_January2020EquityOfferingMember_82660837-e417-4dd2-9bd4-87b8b8359075" xlink:to="loc_efoi_January2020InstitutionalInvestorMember_68c1db9e-9b72-4cb8-938f-10cfcd4642d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember_487c50b7-e8bc-4fe1-a822-551f7e8bf65f" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_January2020EquityOfferingMember_82660837-e417-4dd2-9bd4-87b8b8359075" xlink:to="loc_efoi_January2020EquityOfferingPrivatePlacementMember_487c50b7-e8bc-4fe1-a822-551f7e8bf65f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_2b8db789-7391-4d08-a89e-914c45c0a1fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_2b8db789-7391-4d08-a89e-914c45c0a1fe" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_2b8db789-7391-4d08-a89e-914c45c0a1fe_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_2b8db789-7391-4d08-a89e-914c45c0a1fe" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_2b8db789-7391-4d08-a89e-914c45c0a1fe_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_5d9e510a-ee12-4657-ab17-ab79e04870bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_2b8db789-7391-4d08-a89e-914c45c0a1fe" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_5d9e510a-ee12-4657-ab17-ab79e04870bd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_e5ee2b38-6841-41e3-a916-7ce431041547" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_5d9e510a-ee12-4657-ab17-ab79e04870bd" xlink:to="loc_efoi_PreFundedWarrantsMember_e5ee2b38-6841-41e3-a916-7ce431041547" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_8f995955-0628-4931-a91f-be5379b6756c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_5d9e510a-ee12-4657-ab17-ab79e04870bd" xlink:to="loc_us-gaap_WarrantMember_8f995955-0628-4931-a91f-be5379b6756c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_45a54429-f0f4-4641-8b60-0e9183a272ff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:to="loc_us-gaap_DebtInstrumentAxis_45a54429-f0f4-4641-8b60-0e9183a272ff" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_45a54429-f0f4-4641-8b60-0e9183a272ff_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_45a54429-f0f4-4641-8b60-0e9183a272ff" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_45a54429-f0f4-4641-8b60-0e9183a272ff_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_670e90d3-f267-469d-b3e7-fc7a4b5d43c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_45a54429-f0f4-4641-8b60-0e9183a272ff" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_670e90d3-f267-469d-b3e7-fc7a4b5d43c4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IliadNotePurchaseAgreementMember_0fe70a4b-808d-4fd8-88c9-c5b5847b168c" xlink:href="efoi-20211231.xsd#efoi_IliadNotePurchaseAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_670e90d3-f267-469d-b3e7-fc7a4b5d43c4" xlink:to="loc_efoi_IliadNotePurchaseAgreementMember_0fe70a4b-808d-4fd8-88c9-c5b5847b168c" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails" xlink:type="extended" id="ie501daf983244e089a4cd40b40b102ac_SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e1d52704-7343-4b2f-94c6-a2e375470cfa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e1d52704-7343-4b2f-94c6-a2e375470cfa" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_a5a68fa4-7651-4e49-88b1-ba9eb51e9747" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_a5a68fa4-7651-4e49-88b1-ba9eb51e9747" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_f4e58bdd-118c-4b1b-8502-fc20320318d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_f4e58bdd-118c-4b1b-8502-fc20320318d0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_77a2c275-79c7-4147-b700-c412b3a31b47" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_77a2c275-79c7-4147-b700-c412b3a31b47" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants_1c4533db-f2e0-4ed5-8f11-aaeb446edc51" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_FairValueAdjustmentOfWarrants_1c4533db-f2e0-4ed5-8f11-aaeb446edc51" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_a6dc5cb5-e5e6-481d-99a9-0d5a8a482724" xlink:href="efoi-20211231.xsd#efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_a6dc5cb5-e5e6-481d-99a9-0d5a8a482724" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_511c4a6b-f6eb-4ea1-82cc-121bbc0ac871" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e1d52704-7343-4b2f-94c6-a2e375470cfa" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_9b526662-99c4-4fca-85cc-8d0b1dc1cae2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_9b526662-99c4-4fca-85cc-8d0b1dc1cae2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_6f5ceaae-f17c-467b-a673-581f666c7426" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_9b526662-99c4-4fca-85cc-8d0b1dc1cae2" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_6f5ceaae-f17c-467b-a673-581f666c7426" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2cdaa141-45b0-40fa-b7c2-90fff6f78652" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2cdaa141-45b0-40fa-b7c2-90fff6f78652" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2cdaa141-45b0-40fa-b7c2-90fff6f78652_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2cdaa141-45b0-40fa-b7c2-90fff6f78652" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_2cdaa141-45b0-40fa-b7c2-90fff6f78652_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_23663444-8f39-49e3-a5ca-64bae47df339" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2cdaa141-45b0-40fa-b7c2-90fff6f78652" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_23663444-8f39-49e3-a5ca-64bae47df339" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_9760f4a1-3f6b-463f-93b1-e8c8cf814425" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_23663444-8f39-49e3-a5ca-64bae47df339" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_9760f4a1-3f6b-463f-93b1-e8c8cf814425" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails" xlink:type="extended" id="ifb72a4406c9d4031af004c01e346eadf_SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_788efe2b-fd64-4002-a10c-424b32524964" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_8c7b7ecc-f12d-4be7-9d84-bbdfcca7951a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_788efe2b-fd64-4002-a10c-424b32524964" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_8c7b7ecc-f12d-4be7-9d84-bbdfcca7951a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_76c652b3-0d40-4ea3-8ed5-a7581bb94472" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_788efe2b-fd64-4002-a10c-424b32524964" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_76c652b3-0d40-4ea3-8ed5-a7581bb94472" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_c3c772ab-d0cf-44da-aa9a-1be6379454ec" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_76c652b3-0d40-4ea3-8ed5-a7581bb94472" xlink:to="loc_srt_RangeAxis_c3c772ab-d0cf-44da-aa9a-1be6379454ec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_c3c772ab-d0cf-44da-aa9a-1be6379454ec_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_c3c772ab-d0cf-44da-aa9a-1be6379454ec" xlink:to="loc_srt_RangeMember_c3c772ab-d0cf-44da-aa9a-1be6379454ec_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_38cc3322-88a5-4911-b735-bbae69b7cbc5" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_c3c772ab-d0cf-44da-aa9a-1be6379454ec" xlink:to="loc_srt_RangeMember_38cc3322-88a5-4911-b735-bbae69b7cbc5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_34f5e95d-b4f4-467b-b772-22d5a979ee2e" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_38cc3322-88a5-4911-b735-bbae69b7cbc5" xlink:to="loc_srt_MinimumMember_34f5e95d-b4f4-467b-b772-22d5a979ee2e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b4bd8098-8445-4028-a15b-df59e6334e3a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_38cc3322-88a5-4911-b735-bbae69b7cbc5" xlink:to="loc_srt_MaximumMember_b4bd8098-8445-4028-a15b-df59e6334e3a" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails" xlink:type="extended" id="i981bb371541442a6b9e670781574b00d_SummaryofSignificantAccountingPoliciesConcentrationRiskDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_027c9994-c67a-4724-981a-965864fe0451" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_934ae0a7-7ce3-4d00-b68b-4f7868e8983e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_027c9994-c67a-4724-981a-965864fe0451" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_934ae0a7-7ce3-4d00-b68b-4f7868e8983e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Supplies_8809f9de-e657-44e7-a8fb-d4aae2951fa1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Supplies"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_027c9994-c67a-4724-981a-965864fe0451" xlink:to="loc_us-gaap_Supplies_8809f9de-e657-44e7-a8fb-d4aae2951fa1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_027c9994-c67a-4724-981a-965864fe0451" xlink:to="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_67953255-406f-4640-8197-7d7951385cd7" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_srt_MajorCustomersAxis_67953255-406f-4640-8197-7d7951385cd7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_67953255-406f-4640-8197-7d7951385cd7_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_67953255-406f-4640-8197-7d7951385cd7" xlink:to="loc_srt_NameOfMajorCustomerDomain_67953255-406f-4640-8197-7d7951385cd7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_67953255-406f-4640-8197-7d7951385cd7" xlink:to="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TwoCustomersMember_b6a6bf1a-2a7c-498a-8fcb-27207f798cdb" xlink:href="efoi-20211231.xsd#efoi_TwoCustomersMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_TwoCustomersMember_b6a6bf1a-2a7c-498a-8fcb-27207f798cdb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheU.S.NavyMember_0a4ea93f-da41-491e-aa46-09d51e019fee" xlink:href="efoi-20211231.xsd#efoi_DistributorToTheU.S.NavyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_DistributorToTheU.S.NavyMember_0a4ea93f-da41-491e-aa46-09d51e019fee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RegionalCommercialLightingRetrofitCompanyMember_32c5310b-b177-42e3-80c7-6ea63565bed9" xlink:href="efoi-20211231.xsd#efoi_RegionalCommercialLightingRetrofitCompanyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_RegionalCommercialLightingRetrofitCompanyMember_32c5310b-b177-42e3-80c7-6ea63565bed9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_8ed0c64c-3680-4b9f-874e-7854ca5fc742" xlink:href="efoi-20211231.xsd#efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_8ed0c64c-3680-4b9f-874e-7854ca5fc742" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember_bd00b955-7d5b-4ea5-a81a-bb6af48f1a70" xlink:href="efoi-20211231.xsd#efoi_DistributorToTheUSDepartmentOfDefenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember_bd00b955-7d5b-4ea5-a81a-bb6af48f1a70" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ShipbuilderForUSNavyMember_58fee915-6b04-499d-8f8b-28f18c6f1828" xlink:href="efoi-20211231.xsd#efoi_ShipbuilderForUSNavyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_ShipbuilderForUSNavyMember_58fee915-6b04-499d-8f8b-28f18c6f1828" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_13703416-4293-46da-bbe2-2af81bcf7cc3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_13703416-4293-46da-bbe2-2af81bcf7cc3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_13703416-4293-46da-bbe2-2af81bcf7cc3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_13703416-4293-46da-bbe2-2af81bcf7cc3" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_13703416-4293-46da-bbe2-2af81bcf7cc3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_13703416-4293-46da-bbe2-2af81bcf7cc3" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_b844d441-3f86-43e3-bac2-5876d12c0155" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:to="loc_us-gaap_AccountsReceivableMember_b844d441-3f86-43e3-bac2-5876d12c0155" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_c4fbd4d6-7090-4b08-85af-2c78223559d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:to="loc_us-gaap_SalesRevenueNetMember_c4fbd4d6-7090-4b08-85af-2c78223559d9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TotalExpendituresMember_7953fb5f-f33c-45ea-aed8-dc2d01f86f59" xlink:href="efoi-20211231.xsd#efoi_TotalExpendituresMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:to="loc_efoi_TotalExpendituresMember_7953fb5f-f33c-45ea-aed8-dc2d01f86f59" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableMember_a3e5fc84-8827-4662-8064-6598a337e94a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:to="loc_us-gaap_AccountsPayableMember_a3e5fc84-8827-4662-8064-6598a337e94a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_a9f0e236-788f-46f9-9c2d-e1027aeb0672" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_a9f0e236-788f-46f9-9c2d-e1027aeb0672" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_a9f0e236-788f-46f9-9c2d-e1027aeb0672_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_a9f0e236-788f-46f9-9c2d-e1027aeb0672" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_a9f0e236-788f-46f9-9c2d-e1027aeb0672_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_482e0a41-b28c-4d60-b36e-8552f4c8fab4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_a9f0e236-788f-46f9-9c2d-e1027aeb0672" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_482e0a41-b28c-4d60-b36e-8552f4c8fab4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_69b3ef0f-dd3b-483a-9892-5d6cbce48753" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_482e0a41-b28c-4d60-b36e-8552f4c8fab4" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_69b3ef0f-dd3b-483a-9892-5d6cbce48753" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplierConcentrationRiskMember_7c86febb-7e12-496c-a8e9-b9a3ea24ca7b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplierConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_482e0a41-b28c-4d60-b36e-8552f4c8fab4" xlink:to="loc_us-gaap_SupplierConcentrationRiskMember_7c86febb-7e12-496c-a8e9-b9a3ea24ca7b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_14ab3abe-44ce-4953-b455-945ae366ecb8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_14ab3abe-44ce-4953-b455-945ae366ecb8" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_14ab3abe-44ce-4953-b455-945ae366ecb8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_14ab3abe-44ce-4953-b455-945ae366ecb8" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_14ab3abe-44ce-4953-b455-945ae366ecb8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_bde1622c-c780-4233-bf5c-5abd918cd160" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_14ab3abe-44ce-4953-b455-945ae366ecb8" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_bde1622c-c780-4233-bf5c-5abd918cd160" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OffshoreSupplierMember_a2b6540e-27a6-439d-b4ed-fe7fa6f8aae7" xlink:href="efoi-20211231.xsd#efoi_OffshoreSupplierMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_bde1622c-c780-4233-bf5c-5abd918cd160" xlink:to="loc_efoi_OffshoreSupplierMember_a2b6540e-27a6-439d-b4ed-fe7fa6f8aae7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DomesticSupplierMember_24a1858f-8a57-4756-9403-30970568d96d" xlink:href="efoi-20211231.xsd#efoi_DomesticSupplierMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_bde1622c-c780-4233-bf5c-5abd918cd160" xlink:to="loc_efoi_DomesticSupplierMember_24a1858f-8a57-4756-9403-30970568d96d" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails" xlink:type="extended" id="i8146b7eef9bb41b0953422c90a895c49_SummaryofSignificantAccountingPoliciesNetLossPerShareDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_26caca13-6f4a-4a21-a59d-c361959631a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_e1b7e20f-11c8-4824-a633-01987ca7caf3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_26caca13-6f4a-4a21-a59d-c361959631a3" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_e1b7e20f-11c8-4824-a633-01987ca7caf3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_8c5b604d-40a4-4b12-8815-600e46310897" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_26caca13-6f4a-4a21-a59d-c361959631a3" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_8c5b604d-40a4-4b12-8815-600e46310897" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_26caca13-6f4a-4a21-a59d-c361959631a3" xlink:to="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_c93c9a43-bcd8-40bd-a01e-62aebee5a83e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:to="loc_us-gaap_AwardTypeAxis_c93c9a43-bcd8-40bd-a01e-62aebee5a83e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c93c9a43-bcd8-40bd-a01e-62aebee5a83e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_c93c9a43-bcd8-40bd-a01e-62aebee5a83e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c93c9a43-bcd8-40bd-a01e-62aebee5a83e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_c93c9a43-bcd8-40bd-a01e-62aebee5a83e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockOptionMember_d43748de-79c5-45fd-8a06-779b3593d454" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:to="loc_us-gaap_StockOptionMember_d43748de-79c5-45fd-8a06-779b3593d454" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_01d05491-2fd1-466c-ab96-186e5a6eb4ee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_01d05491-2fd1-466c-ab96-186e5a6eb4ee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_514e0db5-71ce-4a5f-8c8a-f54391466229" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:to="loc_us-gaap_WarrantMember_514e0db5-71ce-4a5f-8c8a-f54391466229" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_a0928cab-1345-4190-9991-06d96583d566" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_a0928cab-1345-4190-9991-06d96583d566" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_0f0ce230-af6f-44bc-ba79-4d762105af3b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_0f0ce230-af6f-44bc-ba79-4d762105af3b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_0f0ce230-af6f-44bc-ba79-4d762105af3b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_0f0ce230-af6f-44bc-ba79-4d762105af3b" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_0f0ce230-af6f-44bc-ba79-4d762105af3b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_6bb08da0-9f64-46ae-9921-74248a2ead41" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_0f0ce230-af6f-44bc-ba79-4d762105af3b" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_6bb08da0-9f64-46ae-9921-74248a2ead41" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_e84ce93a-1be1-4ff0-926b-8a3e5a737216" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_6bb08da0-9f64-46ae-9921-74248a2ead41" xlink:to="loc_efoi_PreFundedWarrantsMember_e84ce93a-1be1-4ff0-926b-8a3e5a737216" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_30180b43-db02-427b-9c74-9ae602f837fa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_30180b43-db02-427b-9c74-9ae602f837fa" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_30180b43-db02-427b-9c74-9ae602f837fa_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_30180b43-db02-427b-9c74-9ae602f837fa" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_30180b43-db02-427b-9c74-9ae602f837fa_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_522046ce-7969-4661-b199-10f88e417465" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_30180b43-db02-427b-9c74-9ae602f837fa" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_522046ce-7969-4661-b199-10f88e417465" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_3cac0deb-dbc3-4b2b-ae0f-5ba1d06c212c" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_522046ce-7969-4661-b199-10f88e417465" xlink:to="loc_efoi_December2021PrivatePlacementMember_3cac0deb-dbc3-4b2b-ae0f-5ba1d06c212c" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails" xlink:type="extended" id="i237f85f5df3447a18f6e6a4c24da8638_SummaryofSignificantAccountingPoliciesProductWarrantiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems_fb75d6f6-caa6-452f-b286-04777683f281" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StandardProductWarrantyNumberofYears_bdf5742e-ed03-405a-a1ca-fc81b963f5b0" xlink:href="efoi-20211231.xsd#efoi_StandardProductWarrantyNumberofYears"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_fb75d6f6-caa6-452f-b286-04777683f281" xlink:to="loc_efoi_StandardProductWarrantyNumberofYears_bdf5742e-ed03-405a-a1ca-fc81b963f5b0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_fb75d6f6-caa6-452f-b286-04777683f281" xlink:to="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_db21fb2b-79b4-4de4-b5b5-a57f9197a68e" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:to="loc_srt_RangeAxis_db21fb2b-79b4-4de4-b5b5-a57f9197a68e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_db21fb2b-79b4-4de4-b5b5-a57f9197a68e_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_db21fb2b-79b4-4de4-b5b5-a57f9197a68e" xlink:to="loc_srt_RangeMember_db21fb2b-79b4-4de4-b5b5-a57f9197a68e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_71252cc8-8f88-4e52-9f29-935240f7cfe1" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_db21fb2b-79b4-4de4-b5b5-a57f9197a68e" xlink:to="loc_srt_RangeMember_71252cc8-8f88-4e52-9f29-935240f7cfe1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_c1015b7c-6747-4a95-acec-093ac89d4feb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_71252cc8-8f88-4e52-9f29-935240f7cfe1" xlink:to="loc_srt_MinimumMember_c1015b7c-6747-4a95-acec-093ac89d4feb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_8fffba98-f50c-4d04-ada1-ae875bfc1729" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_71252cc8-8f88-4e52-9f29-935240f7cfe1" xlink:to="loc_srt_MaximumMember_8fffba98-f50c-4d04-ada1-ae875bfc1729" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_f9d0f5ac-a41e-44d5-9480-69ec84328bcc" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:to="loc_srt_ProductOrServiceAxis_f9d0f5ac-a41e-44d5-9480-69ec84328bcc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_f9d0f5ac-a41e-44d5-9480-69ec84328bcc_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_f9d0f5ac-a41e-44d5-9480-69ec84328bcc" xlink:to="loc_srt_ProductsAndServicesDomain_f9d0f5ac-a41e-44d5-9480-69ec84328bcc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_f9d0f5ac-a41e-44d5-9480-69ec84328bcc" xlink:to="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialProductsMember_a9e266d8-641f-4813-8281-2dd864fc043a" xlink:href="efoi-20211231.xsd#efoi_CommercialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:to="loc_efoi_CommercialProductsMember_a9e266d8-641f-4813-8281-2dd864fc043a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMLEDProductsMember_1b27efc1-88dd-4214-876c-68ff9839e083" xlink:href="efoi-20211231.xsd#efoi_MMMLEDProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:to="loc_efoi_MMMLEDProductsMember_1b27efc1-88dd-4214-876c-68ff9839e083" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_UVCDProductsMember_b567900a-fa63-4808-9c75-2c975c4daeb0" xlink:href="efoi-20211231.xsd#efoi_UVCDProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:to="loc_efoi_UVCDProductsMember_b567900a-fa63-4808-9c75-2c975c4daeb0" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RestructuringNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#RestructuringNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/RestructuringNarrativeDetails" xlink:type="extended" id="i14038f0623ec49c984f958ba9e0f88f6_RestructuringNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_082e02b6-6648-4539-848a-1b3e64384ec9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_NetIncomeLoss_082e02b6-6648-4539-848a-1b3e64384ec9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_fbec5264-6c87-4c3a-ab1e-6033cfde1b67" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_fbec5264-6c87-4c3a-ab1e-6033cfde1b67" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCosts_a7888d6d-f70c-4fbc-9ab8-b2929cb4a31c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_RestructuringCosts_a7888d6d-f70c-4fbc-9ab8-b2929cb4a31c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_34ff6a2a-4310-4ae1-858e-a22206cb7702" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_34ff6a2a-4310-4ae1-858e-a22206cb7702" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt_4fb0497e-30e6-4606-b3f1-ef321212d4ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfDebt_4fb0497e-30e6-4606-b3f1-ef321212d4ac" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentNumberOfCreditFacilities_ce9caf00-d3b7-49b0-bda2-ae11ca2b399a" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentNumberOfCreditFacilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_efoi_DebtInstrumentNumberOfCreditFacilities_ce9caf00-d3b7-49b0-bda2-ae11ca2b399a" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_c6db6a2f-685e-45ba-96a6-d1bc784c32fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_StockholdersEquity_c6db6a2f-685e-45ba-96a6-d1bc784c32fb" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_17e59ce2-43ff-458a-a64c-dfa2b2735f5f" xlink:href="efoi-20211231.xsd#efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_17e59ce2-43ff-458a-a64c-dfa2b2735f5f" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f91ad246-7427-4611-9b24-edcd7f10e151" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f91ad246-7427-4611-9b24-edcd7f10e151" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_e5b000df-8965-40ab-afca-ab0874c71bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f91ad246-7427-4611-9b24-edcd7f10e151" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_e5b000df-8965-40ab-afca-ab0874c71bc5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_e5b000df-8965-40ab-afca-ab0874c71bc5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_e5b000df-8965-40ab-afca-ab0874c71bc5" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_e5b000df-8965-40ab-afca-ab0874c71bc5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_e5b000df-8965-40ab-afca-ab0874c71bc5" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_94e1d825-844c-4eea-8cc7-670e2818621f" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:to="loc_efoi_December2021PrivatePlacementMember_94e1d825-844c-4eea-8cc7-670e2818621f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_1a12aaee-c8c2-49b1-adda-53a2622a9c99" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:to="loc_efoi_InstitutionalInvestorMember_1a12aaee-c8c2-49b1-adda-53a2622a9c99" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_2dd8a653-9be9-430b-8c22-23442519edbc" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:to="loc_efoi_January2020EquityOfferingMember_2dd8a653-9be9-430b-8c22-23442519edbc" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#RestructuringReconciliationofRestructuringLiabilityDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails" xlink:type="extended" id="ia355eaea2fe34407a4f798f1c8344889_RestructuringReconciliationofRestructuringLiabilityDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:to="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_663f0f04-3139-4969-8b88-4accfd2f746e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:to="loc_us-gaap_RestructuringReserve_663f0f04-3139-4969-8b88-4accfd2f746e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuringReserveAccretion_036c327c-ed34-4618-aa0f-8e491bb65fe1" xlink:href="efoi-20211231.xsd#efoi_RestructuringReserveAccretion"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:to="loc_efoi_RestructuringReserveAccretion_036c327c-ed34-4618-aa0f-8e491bb65fe1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_ad7f4268-d94a-4d6b-8620-334aacafc5a4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:to="loc_us-gaap_PaymentsForRestructuring_ad7f4268-d94a-4d6b-8620-334aacafc5a4" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_7fe5d2f7-fe46-4935-a39f-7e8ceb3d2915" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_1ead5d9d-b224-400f-89ad-c6284a854db5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent_856cdeb2-60ff-45fe-9e2b-98ac83c4e833" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:to="loc_us-gaap_RestructuringReserveCurrent_856cdeb2-60ff-45fe-9e2b-98ac83c4e833" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveNoncurrent_0d54d264-7335-4652-a40c-313afecf3bdd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:to="loc_us-gaap_RestructuringReserveNoncurrent_0d54d264-7335-4652-a40c-313afecf3bdd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_39c3a9a2-1a3f-45f3-b544-74407bb2d66d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_39c3a9a2-1a3f-45f3-b544-74407bb2d66d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_39c3a9a2-1a3f-45f3-b544-74407bb2d66d" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_3c96dd9b-7528-4c87-9c51-91ab5bab73d1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_3c96dd9b-7528-4c87-9c51-91ab5bab73d1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FacilityClosingMember_0d4d0b14-683a-4eb2-9cea-1873b309d255" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FacilityClosingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_3c96dd9b-7528-4c87-9c51-91ab5bab73d1" xlink:to="loc_us-gaap_FacilityClosingMember_0d4d0b14-683a-4eb2-9cea-1873b309d255" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#PropertyandEquipmentDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipmentDetails" xlink:type="extended" id="ib331fb09d6644fd2a6526828f4cabfba_PropertyandEquipmentDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_9c9bb97d-df46-4673-bfa3-a96a837ea81a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_9c9bb97d-df46-4673-bfa3-a96a837ea81a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_a4357327-9d63-493e-ae36-4b52b604f147" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_a4357327-9d63-493e-ae36-4b52b604f147" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_bff23967-b59d-43ee-baa3-1c9ac74c53d8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_bff23967-b59d-43ee-baa3-1c9ac74c53d8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_0284cb4e-bae0-4c0b-8657-6f066714efb5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_0284cb4e-bae0-4c0b-8657-6f066714efb5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_d8b7376c-7ead-4027-a77a-8af2ad275950" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_d8b7376c-7ead-4027-a77a-8af2ad275950" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_02fa729d-2e38-4144-822c-1c3bb7243ca3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_02fa729d-2e38-4144-822c-1c3bb7243ca3" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_00d2529e-bef4-498c-ae28-32458a7b2d97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_Depreciation_00d2529e-bef4-498c-ae28-32458a7b2d97" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_483b9dd9-31d6-4161-b275-5ec30d1cc762" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_483b9dd9-31d6-4161-b275-5ec30d1cc762" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_483b9dd9-31d6-4161-b275-5ec30d1cc762_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_483b9dd9-31d6-4161-b275-5ec30d1cc762" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_483b9dd9-31d6-4161-b275-5ec30d1cc762_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_483b9dd9-31d6-4161-b275-5ec30d1cc762" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember_635ba4a3-2309-4e25-9b4b-21989b16436c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_EquipmentMember_635ba4a3-2309-4e25-9b4b-21989b16436c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ToolingMember_fd1cd26c-016f-45f3-b3d2-c8567141b54f" xlink:href="efoi-20211231.xsd#efoi_ToolingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_efoi_ToolingMember_fd1cd26c-016f-45f3-b3d2-c8567141b54f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VehiclesMember_050e49f0-fa43-466b-ab31-ef19d829efa7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VehiclesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_VehiclesMember_050e49f0-fa43-466b-ab31-ef19d829efa7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_ad7d27fc-01ec-4751-b4fc-0c3c7fd4938f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_ad7d27fc-01ec-4751-b4fc-0c3c7fd4938f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_7797daa4-9212-4d58-88b2-35fc82aee899" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_7797daa4-9212-4d58-88b2-35fc82aee899" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_97b30e6c-c448-4d17-b06c-49cb96aa4e88" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_97b30e6c-c448-4d17-b06c-49cb96aa4e88" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RobotsMember_865538ee-127e-486d-b3b7-af82aacbf0de" xlink:href="efoi-20211231.xsd#efoi_RobotsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_efoi_RobotsMember_865538ee-127e-486d-b3b7-af82aacbf0de" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressMember_bf102230-2313-4e14-a73c-978427b3abf6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConstructionInProgressMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_ConstructionInProgressMember_bf102230-2313-4e14-a73c-978427b3abf6" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_d53a01d8-3b53-4ebd-8f93-757121a837cc" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:to="loc_srt_RangeAxis_d53a01d8-3b53-4ebd-8f93-757121a837cc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d53a01d8-3b53-4ebd-8f93-757121a837cc_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_d53a01d8-3b53-4ebd-8f93-757121a837cc" xlink:to="loc_srt_RangeMember_d53a01d8-3b53-4ebd-8f93-757121a837cc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_96cdda6a-6ebe-4b05-96e2-a68642e30fec" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_d53a01d8-3b53-4ebd-8f93-757121a837cc" xlink:to="loc_srt_RangeMember_96cdda6a-6ebe-4b05-96e2-a68642e30fec" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_fcfb94aa-0f9a-41f9-96d0-fdc72ef52070" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_96cdda6a-6ebe-4b05-96e2-a68642e30fec" xlink:to="loc_srt_MinimumMember_fcfb94aa-0f9a-41f9-96d0-fdc72ef52070" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_e69d03d5-3960-4482-baa7-3a3a06861bda" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_96cdda6a-6ebe-4b05-96e2-a68642e30fec" xlink:to="loc_srt_MaximumMember_e69d03d5-3960-4482-baa7-3a3a06861bda" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtCreditFacilitiesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails" xlink:type="extended" id="i75eb8dc814634738bfe3bbde14b9cb21_DebtCreditFacilitiesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentNumberOfCreditFacilities_03c683fc-5162-4fc6-891e-598f89b35eb0" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentNumberOfCreditFacilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_DebtInstrumentNumberOfCreditFacilities_03c683fc-5162-4fc6-891e-598f89b35eb0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3b8db693-f83d-453c-a7ac-dbf08cfb7e68" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3b8db693-f83d-453c-a7ac-dbf08cfb7e68" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_e00425f8-3d57-4208-9808-5a3c30768273" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_e00425f8-3d57-4208-9808-5a3c30768273" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_20520a7e-7eac-41d1-96bb-ac7429291a80" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_20520a7e-7eac-41d1-96bb-ac7429291a80" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_0ca5f8f8-a35d-4d46-9ed5-bdcdd1cadb2a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_0ca5f8f8-a35d-4d46-9ed5-bdcdd1cadb2a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentBaseRateVariable_92625770-82d6-42d7-a650-5233f3b8e173" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentBaseRateVariable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_DebtInstrumentBaseRateVariable_92625770-82d6-42d7-a650-5233f3b8e173" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_bcdf0c7f-10e2-4b50-a6ee-82ad08e1940c" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMonthlyFacilityFeePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_bcdf0c7f-10e2-4b50-a6ee-82ad08e1940c" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMonthlyFacilityFee_13ed89f9-d4f1-46d9-8095-3002b0abb2e3" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMonthlyFacilityFee"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityMonthlyFacilityFee_13ed89f9-d4f1-46d9-8095-3002b0abb2e3" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_6811be11-1458-444c-9dac-bca7330ef50e" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_6811be11-1458-444c-9dac-bca7330ef50e" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_cd98d4f4-3970-4551-9067-37a97f2c6760" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_cd98d4f4-3970-4551-9067-37a97f2c6760" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent_161ee323-5de6-4f8d-84e0-613366b5323f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_LinesOfCreditCurrent_161ee323-5de6-4f8d-84e0-613366b5323f" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnamortizedDebtIssuanceExpense_6dc80ea6-4ef2-4299-b799-6865df91d48b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnamortizedDebtIssuanceExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_UnamortizedDebtIssuanceExpense_6dc80ea6-4ef2-4299-b799-6865df91d48b" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_8d7c4459-eb9a-498d-9e8c-a8960bc61339" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAnnualFacilityFeePeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_8d7c4459-eb9a-498d-9e8c-a8960bc61339" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_6155666c-5dce-4c6a-8de0-ef8faf277071" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_6155666c-5dce-4c6a-8de0-ef8faf277071" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_bcdae178-9fa9-41ef-b416-d4ae5a55f76e" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_bcdae178-9fa9-41ef-b416-d4ae5a55f76e" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_3e89c590-3fcc-4e33-ab39-24eec39e8195" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_3e89c590-3fcc-4e33-ab39-24eec39e8195" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableInventory_49d97cd0-125f-41c9-8372-bca77bc030a1" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableInventory"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAvailableInventory_49d97cd0-125f-41c9-8372-bca77bc030a1" xlink:type="arc" order="16"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityOverdraftFeePercent_94327355-3c57-4e61-af81-a164d86e6345" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityOverdraftFeePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityOverdraftFeePercent_94327355-3c57-4e61-af81-a164d86e6345" xlink:type="arc" order="17"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMinimumRequirement_077cd974-9c8b-4ac2-a37d-a71db4466e20" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMinimumRequirement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityMinimumRequirement_077cd974-9c8b-4ac2-a37d-a71db4466e20" xlink:type="arc" order="18"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAnnualFeePercent_f089fd68-10ac-472e-8c57-5e140aae1c5b" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAnnualFeePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAnnualFeePercent_f089fd68-10ac-472e-8c57-5e140aae1c5b" xlink:type="arc" order="19"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityCollateralManagementFeePercent_31183326-1b85-4466-8172-16d45d36137e" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityCollateralManagementFeePercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityCollateralManagementFeePercent_31183326-1b85-4466-8172-16d45d36137e" xlink:type="arc" order="20"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts_3d6a6773-a0f8-410f-a898-6d789cdd0f40" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDebtExtinguishmentCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts_3d6a6773-a0f8-410f-a898-6d789cdd0f40" xlink:type="arc" order="21"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFeeAmount_4ef71525-c767-494c-987c-405a8800aec3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFeeAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_DebtInstrumentFeeAmount_4ef71525-c767-494c-987c-405a8800aec3" xlink:type="arc" order="22"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_27ef6a3a-032d-4be8-b471-3b60b26727de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_27ef6a3a-032d-4be8-b471-3b60b26727de" xlink:type="arc" order="23"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_ac99c6dd-e335-4caf-9b56-1cb47252fb60" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_CreditFacilityAxis_ac99c6dd-e335-4caf-9b56-1cb47252fb60" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_ac99c6dd-e335-4caf-9b56-1cb47252fb60_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_ac99c6dd-e335-4caf-9b56-1cb47252fb60" xlink:to="loc_us-gaap_CreditFacilityDomain_ac99c6dd-e335-4caf-9b56-1cb47252fb60_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_873d8592-84c1-441e-8ada-f78282c91b5d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_ac99c6dd-e335-4caf-9b56-1cb47252fb60" xlink:to="loc_us-gaap_CreditFacilityDomain_873d8592-84c1-441e-8ada-f78282c91b5d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_51a8f596-5dbd-4fc4-8e20-d42ec8b36db1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_873d8592-84c1-441e-8ada-f78282c91b5d" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_51a8f596-5dbd-4fc4-8e20-d42ec8b36db1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_97aa0f08-e250-4ede-b776-b2a3bf7eb99c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_DebtInstrumentAxis_97aa0f08-e250-4ede-b776-b2a3bf7eb99c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_97aa0f08-e250-4ede-b776-b2a3bf7eb99c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_97aa0f08-e250-4ede-b776-b2a3bf7eb99c" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_97aa0f08-e250-4ede-b776-b2a3bf7eb99c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_97aa0f08-e250-4ede-b776-b2a3bf7eb99c" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryFacilityMember_0abc58f2-4c59-4f52-b73f-d1cb626bfa50" xlink:href="efoi-20211231.xsd#efoi_InventoryFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:to="loc_efoi_InventoryFacilityMember_0abc58f2-4c59-4f52-b73f-d1cb626bfa50" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivablesFacilityMember_60eddbe6-3284-4087-a3a8-f660f53399db" xlink:href="efoi-20211231.xsd#efoi_ReceivablesFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:to="loc_efoi_ReceivablesFacilityMember_60eddbe6-3284-4087-a3a8-f660f53399db" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinFacilityMember_34377eed-f403-4203-9192-abad3dc93e2a" xlink:href="efoi-20211231.xsd#efoi_AustinFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:to="loc_efoi_AustinFacilityMember_34377eed-f403-4203-9192-abad3dc93e2a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinCreditFacilityMember_47a53a21-2989-4a4e-8ea9-7b2786d14faf" xlink:href="efoi-20211231.xsd#efoi_AustinCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:to="loc_efoi_AustinCreditFacilityMember_47a53a21-2989-4a4e-8ea9-7b2786d14faf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_VariableRateAxis_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e" xlink:to="loc_us-gaap_VariableRateDomain_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_f702515c-3646-4ceb-87b6-dde2e432cad4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e" xlink:to="loc_us-gaap_VariableRateDomain_f702515c-3646-4ceb-87b6-dde2e432cad4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_3fb86607-5e73-4f8c-90dc-76ba4200233a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_f702515c-3646-4ceb-87b6-dde2e432cad4" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_3fb86607-5e73-4f8c-90dc-76ba4200233a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_WallStreetJournalHighestPrimeRateMember_da61c205-b718-4018-9f83-7182ece260a1" xlink:href="efoi-20211231.xsd#efoi_WallStreetJournalHighestPrimeRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_f702515c-3646-4ceb-87b6-dde2e432cad4" xlink:to="loc_efoi_WallStreetJournalHighestPrimeRateMember_da61c205-b718-4018-9f83-7182ece260a1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_788266b0-f3c4-4b9f-8981-9a9c21e02238" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_788266b0-f3c4-4b9f-8981-9a9c21e02238" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_788266b0-f3c4-4b9f-8981-9a9c21e02238_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_788266b0-f3c4-4b9f-8981-9a9c21e02238" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_788266b0-f3c4-4b9f-8981-9a9c21e02238_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_0cfc0852-464f-4299-a524-971e4747d62c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_788266b0-f3c4-4b9f-8981-9a9c21e02238" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_0cfc0852-464f-4299-a524-971e4747d62c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_16350913-1c31-4b05-ac9a-90c1be5ad409" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_0cfc0852-464f-4299-a524-971e4747d62c" xlink:to="loc_us-gaap_ConvertibleDebtMember_16350913-1c31-4b05-ac9a-90c1be5ad409" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtStreetervilleNoteDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails" xlink:type="extended" id="i5f1876e1a6534d73b33919a7579a41cb_DebtStreetervilleNoteDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_b9e997b8-dab8-44fa-a6df-6028285af8a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_b9e997b8-dab8-44fa-a6df-6028285af8a9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount_ed4b1cb2-b315-4fe7-a544-931cf37904a2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount_ed4b1cb2-b315-4fe7-a544-931cf37904a2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt_6b045a28-5bee-4060-bcdb-a6a7dfa4b52a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfDebt_6b045a28-5bee-4060-bcdb-a6a7dfa4b52a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross_6878b618-a9b1-4fcd-911f-d3ec8635903f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DeferredFinanceCostsGross_6878b618-a9b1-4fcd-911f-d3ec8635903f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_b46aea70-0209-4ef7-82ab-4a633c51f34f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_b46aea70-0209-4ef7-82ab-4a633c51f34f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPrepaymentPremiumPercent_dff1fc24-ebf5-4b9e-a845-52cce7f192d8" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentPrepaymentPremiumPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtInstrumentPrepaymentPremiumPercent_dff1fc24-ebf5-4b9e-a845-52cce7f192d8" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtPrepaymentMaximumPercentage_63b84246-6cf0-4c7e-97ce-b20ba6e3b973" xlink:href="efoi-20211231.xsd#efoi_DebtPrepaymentMaximumPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtPrepaymentMaximumPercentage_63b84246-6cf0-4c7e-97ce-b20ba6e3b973" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_452e9de7-2336-4dfb-9230-ca6cd4edbada" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_452e9de7-2336-4dfb-9230-ca6cd4edbada" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_b43fb455-13a2-40f9-b811-24b7cdf7f536" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_b43fb455-13a2-40f9-b811-24b7cdf7f536" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_3be42c70-0fc6-4280-a462-6b4636714c7f" xlink:href="efoi-20211231.xsd#efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_3be42c70-0fc6-4280-a462-6b4636714c7f" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_f2712898-cd3b-4f02-a1e5-2a49852feabc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_f2712898-cd3b-4f02-a1e5-2a49852feabc" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_15d68f81-ebb7-46a5-b2cf-80273e270e5f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_15d68f81-ebb7-46a5-b2cf-80273e270e5f" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_5a0b8403-7591-4f02-ac71-02a4b6dc8616" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_5a0b8403-7591-4f02-ac71-02a4b6dc8616" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_cfbab604-ca8f-427d-abfe-e81a67f1f020" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:to="loc_us-gaap_DebtInstrumentAxis_cfbab604-ca8f-427d-abfe-e81a67f1f020" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_cfbab604-ca8f-427d-abfe-e81a67f1f020_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_cfbab604-ca8f-427d-abfe-e81a67f1f020" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_cfbab604-ca8f-427d-abfe-e81a67f1f020_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_834546b6-78ce-4304-b532-c7483b2bd549" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_cfbab604-ca8f-427d-abfe-e81a67f1f020" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_834546b6-78ce-4304-b532-c7483b2bd549" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StreetervilleNotePurchaseAgreementMember_852822ca-2560-4b2c-ad67-be9f1d6c362c" xlink:href="efoi-20211231.xsd#efoi_StreetervilleNotePurchaseAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_834546b6-78ce-4304-b532-c7483b2bd549" xlink:to="loc_efoi_StreetervilleNotePurchaseAgreementMember_852822ca-2560-4b2c-ad67-be9f1d6c362c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_cec7d3f2-1c2d-4e93-af51-14499fba5784" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_cec7d3f2-1c2d-4e93-af51-14499fba5784" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_cec7d3f2-1c2d-4e93-af51-14499fba5784_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_cec7d3f2-1c2d-4e93-af51-14499fba5784" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_cec7d3f2-1c2d-4e93-af51-14499fba5784_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_112c1433-ad82-4f3f-b020-492033065dfe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_cec7d3f2-1c2d-4e93-af51-14499fba5784" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_112c1433-ad82-4f3f-b020-492033065dfe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_a0953c57-cf40-4cf6-8662-e4ac4e4b9428" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_112c1433-ad82-4f3f-b020-492033065dfe" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_a0953c57-cf40-4cf6-8662-e4ac4e4b9428" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_3f4b766f-11eb-4202-99f4-00b7579b3424" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_112c1433-ad82-4f3f-b020-492033065dfe" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_3f4b766f-11eb-4202-99f4-00b7579b3424" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtPPPLoanDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtPPPLoanDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtPPPLoanDetails" xlink:type="extended" id="ic62bf741a1444a45ab322dc6867219a4_DebtPPPLoanDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLoanOriginations1_3861fd47-3777-49f5-9d5c-7d719175a1ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLoanOriginations1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_us-gaap_ProceedsFromLoanOriginations1_3861fd47-3777-49f5-9d5c-7d719175a1ed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_3eaa54bf-7465-4e57-b113-2eef639b3083" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_3eaa54bf-7465-4e57-b113-2eef639b3083" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramCurrent_fc4860ef-bdc9-4815-b68a-d39147e96dd2" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_efoi_PaymentProtectionProgramCurrent_fc4860ef-bdc9-4815-b68a-d39147e96dd2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramNoncurrent_887c5836-3caf-4409-96f2-1425e6181b18" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_efoi_PaymentProtectionProgramNoncurrent_887c5836-3caf-4409-96f2-1425e6181b18" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_6799ba71-d37a-4bc6-8ce1-9b07af9cc77f" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_6799ba71-d37a-4bc6-8ce1-9b07af9cc77f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_a02df853-3a8f-43db-a0fc-f9118f1adbd4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_us-gaap_DebtInstrumentTable_a02df853-3a8f-43db-a0fc-f9118f1adbd4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_1084f3cc-5132-4b1a-9269-6a4509c4c2bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_a02df853-3a8f-43db-a0fc-f9118f1adbd4" xlink:to="loc_us-gaap_DebtInstrumentAxis_1084f3cc-5132-4b1a-9269-6a4509c4c2bc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1084f3cc-5132-4b1a-9269-6a4509c4c2bc_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_1084f3cc-5132-4b1a-9269-6a4509c4c2bc" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1084f3cc-5132-4b1a-9269-6a4509c4c2bc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_bc3cb5f8-95c2-4d5c-98ea-4b9250407f42" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_1084f3cc-5132-4b1a-9269-6a4509c4c2bc" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_bc3cb5f8-95c2-4d5c-98ea-4b9250407f42" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaycheckProtectionProgramCARESActMember_c9101344-821d-47f5-9298-046caaaaa99c" xlink:href="efoi-20211231.xsd#efoi_PaycheckProtectionProgramCARESActMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_bc3cb5f8-95c2-4d5c-98ea-4b9250407f42" xlink:to="loc_efoi_PaycheckProtectionProgramCARESActMember_c9101344-821d-47f5-9298-046caaaaa99c" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtIliadNoteDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtIliadNoteDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtIliadNoteDetails" xlink:type="extended" id="ie81d29e7dbdc443c8bac86043a026e7f_DebtIliadNoteDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_948759b5-e654-45bb-b714-ee757129df4f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_948759b5-e654-45bb-b714-ee757129df4f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedPremium_4700800f-52b4-4a2d-b2f5-aeea5a8feff4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedPremium"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedPremium_4700800f-52b4-4a2d-b2f5-aeea5a8feff4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt_5e6197f8-811c-4fff-9ecc-2542568ecd4c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfDebt_5e6197f8-811c-4fff-9ecc-2542568ecd4c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross_ee5c85d8-4a9c-47c0-bfd6-d8fcdeb87aa8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DeferredFinanceCostsGross_ee5c85d8-4a9c-47c0-bfd6-d8fcdeb87aa8" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfDebt_356600e3-2a30-4f26-8a18-5873b71d4ba5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_RepaymentsOfDebt_356600e3-2a30-4f26-8a18-5873b71d4ba5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_be2770cd-d239-4d5e-81b9-c077f918a653" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_be2770cd-d239-4d5e-81b9-c077f918a653" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_3ba433c3-3a3d-4f80-87d0-c9e5485f64a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_3ba433c3-3a3d-4f80-87d0-c9e5485f64a3" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_d2b7186e-4da0-4df4-b5a1-e728ca229222" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentProceedsToBePaidToLenderPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_d2b7186e-4da0-4df4-b5a1-e728ca229222" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_eb9e47d8-c0cc-4bf8-b60c-bbbc13d7abbc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_eb9e47d8-c0cc-4bf8-b60c-bbbc13d7abbc" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_2daa3b80-d0e2-485b-889f-bc7a56820858" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_2daa3b80-d0e2-485b-889f-bc7a56820858" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_5a7123c5-e919-48ea-806b-298f9b2cdd8d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DebtInstrumentTable_5a7123c5-e919-48ea-806b-298f9b2cdd8d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_0bb12b7b-e150-4fc8-956b-1f4647896905" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_5a7123c5-e919-48ea-806b-298f9b2cdd8d" xlink:to="loc_us-gaap_DebtInstrumentAxis_0bb12b7b-e150-4fc8-956b-1f4647896905" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_0bb12b7b-e150-4fc8-956b-1f4647896905_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_0bb12b7b-e150-4fc8-956b-1f4647896905" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_0bb12b7b-e150-4fc8-956b-1f4647896905_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_0179b2c7-7482-440d-aae8-3c479487e22b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_0bb12b7b-e150-4fc8-956b-1f4647896905" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_0179b2c7-7482-440d-aae8-3c479487e22b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IliadNotePurchaseAgreementMember_4e06985d-2dbe-4262-b88b-6fc099ecbe4f" xlink:href="efoi-20211231.xsd#efoi_IliadNotePurchaseAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_0179b2c7-7482-440d-aae8-3c479487e22b" xlink:to="loc_efoi_IliadNotePurchaseAgreementMember_4e06985d-2dbe-4262-b88b-6fc099ecbe4f" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtConvertibleNotesDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails" xlink:type="extended" id="i5d93ba2d1fc64f3db85635f882f86031_DebtConvertibleNotesDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_0e11bc47-9325-447f-9c3a-524528a1682c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_0e11bc47-9325-447f-9c3a-524528a1682c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt_de61c58a-4a21-41a1-8a81-d1ee3445aed2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtConversionOriginalDebtInterestRateOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt_de61c58a-4a21-41a1-8a81-d1ee3445aed2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_06c6deaa-8889-487d-8e73-d766d6c26c4a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_06c6deaa-8889-487d-8e73-d766d6c26c4a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AccumulatedInterestOnSubordinatedDebt_5efd1aee-bd67-4036-a739-36810fc2d204" xlink:href="efoi-20211231.xsd#efoi_AccumulatedInterestOnSubordinatedDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_efoi_AccumulatedInterestOnSubordinatedDebt_5efd1aee-bd67-4036-a739-36810fc2d204" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_91b6176c-ae98-4d8a-bfec-808369abd2d5" xlink:href="efoi-20211231.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_91b6176c-ae98-4d8a-bfec-808369abd2d5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_d413d717-759b-4040-8e8d-fbde0fee20fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_d413d717-759b-4040-8e8d-fbde0fee20fb" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_bc0420c3-5d10-4efb-87e5-88c8d860c7bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_bc0420c3-5d10-4efb-87e5-88c8d860c7bd" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_0202052c-2068-4dc9-86df-200701f7aa95" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_0202052c-2068-4dc9-86df-200701f7aa95" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_6320d5fe-54c2-4589-9fd9-bea162abbc13" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_6320d5fe-54c2-4589-9fd9-bea162abbc13" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_c4334871-f45c-4637-90dc-ea59508ea1ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_c4334871-f45c-4637-90dc-ea59508ea1ac" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_fe4489b5-42e2-4413-a31c-3935fc87be89" xlink:href="efoi-20211231.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_fe4489b5-42e2-4413-a31c-3935fc87be89" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_c40eb000-b26d-481a-94a9-ad1f719748b7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_c40eb000-b26d-481a-94a9-ad1f719748b7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_c40eb000-b26d-481a-94a9-ad1f719748b7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_c40eb000-b26d-481a-94a9-ad1f719748b7" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_c40eb000-b26d-481a-94a9-ad1f719748b7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_2adc9488-93a3-4e65-aa02-4ae1f6f269cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_c40eb000-b26d-481a-94a9-ad1f719748b7" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_2adc9488-93a3-4e65-aa02-4ae1f6f269cf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_bbcfe1a0-ab10-4d5b-86cb-31a289c12246" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_2adc9488-93a3-4e65-aa02-4ae1f6f269cf" xlink:to="loc_us-gaap_ConvertibleDebtMember_bbcfe1a0-ab10-4d5b-86cb-31a289c12246" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_22ea05e7-daf2-40e2-9c47-7a9f4e882c89" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_22ea05e7-daf2-40e2-9c47-7a9f4e882c89" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_22ea05e7-daf2-40e2-9c47-7a9f4e882c89_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_22ea05e7-daf2-40e2-9c47-7a9f4e882c89" xlink:to="loc_us-gaap_EquityComponentDomain_22ea05e7-daf2-40e2-9c47-7a9f4e882c89_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_a94a9330-62e7-445c-bcde-f9053092157b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_22ea05e7-daf2-40e2-9c47-7a9f4e882c89" xlink:to="loc_us-gaap_EquityComponentDomain_a94a9330-62e7-445c-bcde-f9053092157b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_7cf8bba5-9185-49e7-9efe-ccc368e7ca71" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_a94a9330-62e7-445c-bcde-f9053092157b" xlink:to="loc_us-gaap_PreferredStockMember_7cf8bba5-9185-49e7-9efe-ccc368e7ca71" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_3ada1b2d-1fe2-4d32-82b3-eb5bea8a7aab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_a94a9330-62e7-445c-bcde-f9053092157b" xlink:to="loc_us-gaap_CommonStockMember_3ada1b2d-1fe2-4d32-82b3-eb5bea8a7aab" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_fbca52e4-be7b-4058-9abe-9916b66f3f3d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:to="loc_us-gaap_StatementClassOfStockAxis_fbca52e4-be7b-4058-9abe-9916b66f3f3d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_fbca52e4-be7b-4058-9abe-9916b66f3f3d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_fbca52e4-be7b-4058-9abe-9916b66f3f3d" xlink:to="loc_us-gaap_ClassOfStockDomain_fbca52e4-be7b-4058-9abe-9916b66f3f3d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_f4a01e18-ba3a-4299-a241-b78f66b1c252" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_fbca52e4-be7b-4058-9abe-9916b66f3f3d" xlink:to="loc_us-gaap_ClassOfStockDomain_f4a01e18-ba3a-4299-a241-b78f66b1c252" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_8394f9fb-45c4-404d-99de-a9ea8ce6a02e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_f4a01e18-ba3a-4299-a241-b78f66b1c252" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_8394f9fb-45c4-404d-99de-a9ea8ce6a02e" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#CommitmentsandContingenciesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails" xlink:type="extended" id="iefd61c87319846e88d8ae22232dea848_CommitmentsandContingenciesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_5066d55e-09f2-4fc4-b37d-f2d97e837e86" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionContingentConsiderationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_46917329-c913-491e-9ae6-566a9f8df1b8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PurchaseObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_5066d55e-09f2-4fc4-b37d-f2d97e837e86" xlink:to="loc_us-gaap_PurchaseObligation_46917329-c913-491e-9ae6-566a9f8df1b8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount_a728e7df-0003-4691-8603-732603cf115b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_5066d55e-09f2-4fc4-b37d-f2d97e837e86" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentAmount_a728e7df-0003-4691-8603-732603cf115b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_32d9457d-0fff-4ed7-9b91-5391e47c6e81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_5066d55e-09f2-4fc4-b37d-f2d97e837e86" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_32d9457d-0fff-4ed7-9b91-5391e47c6e81" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis_2164eea8-3acc-42bd-8c3f-553b9f516eae" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_32d9457d-0fff-4ed7-9b91-5391e47c6e81" xlink:to="loc_srt_StatementScenarioAxis_2164eea8-3acc-42bd-8c3f-553b9f516eae" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_2164eea8-3acc-42bd-8c3f-553b9f516eae_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementScenarioAxis_2164eea8-3acc-42bd-8c3f-553b9f516eae" xlink:to="loc_srt_ScenarioUnspecifiedDomain_2164eea8-3acc-42bd-8c3f-553b9f516eae_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_44a36853-0614-47f5-984f-710f8415b825" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementScenarioAxis_2164eea8-3acc-42bd-8c3f-553b9f516eae" xlink:to="loc_srt_ScenarioUnspecifiedDomain_44a36853-0614-47f5-984f-710f8415b825" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember_fa0f354b-e23f-49f7-8cad-555015d37f6b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ScenarioUnspecifiedDomain_44a36853-0614-47f5-984f-710f8415b825" xlink:to="loc_srt_ScenarioForecastMember_fa0f354b-e23f-49f7-8cad-555015d37f6b" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityDecember2021PrivatePlacementDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails" xlink:type="extended" id="ib43da27afc154d24af999b9796867260_StockholdersEquityDecember2021PrivatePlacementDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_abceb8aa-0213-4f0e-a57b-acdc755935a4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_abceb8aa-0213-4f0e-a57b-acdc755935a4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_d98d5260-5745-47f7-be3e-3d86a90267ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_d98d5260-5745-47f7-be3e-3d86a90267ca" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_9369ae2b-747c-46fe-aa12-12c47a670f1a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_9369ae2b-747c-46fe-aa12-12c47a670f1a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_a90a5399-408b-4158-b5c7-28ebe747d95f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_a90a5399-408b-4158-b5c7-28ebe747d95f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_b02e1cd2-6520-4391-8206-628d4b27b9c9" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_b02e1cd2-6520-4391-8206-628d4b27b9c9" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_36bf3a54-dc0e-4f52-a194-a5bb8a68227b" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_36bf3a54-dc0e-4f52-a194-a5bb8a68227b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_866e25f4-b285-4d51-9326-85bc89d8fe16" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_PaymentsForClearingFees_866e25f4-b285-4d51-9326-85bc89d8fe16" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_f51ec937-3f11-4f55-9a90-ce1afb5f86bb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_f51ec937-3f11-4f55-9a90-ce1afb5f86bb" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_baa12ce5-67f2-490f-94a6-b7e55edc9a6c" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_baa12ce5-67f2-490f-94a6-b7e55edc9a6c" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_b7773aad-44cc-4500-8cd2-ce7641fe845c" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_b7773aad-44cc-4500-8cd2-ce7641fe845c" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_4256f2d1-29d6-4843-ae76-2d9fcf705196" xlink:href="efoi-20211231.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_4256f2d1-29d6-4843-ae76-2d9fcf705196" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_4c6054a2-d4ba-4971-bd20-257e2756dcda" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_4c6054a2-d4ba-4971-bd20-257e2756dcda" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_4c6054a2-d4ba-4971-bd20-257e2756dcda_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_4c6054a2-d4ba-4971-bd20-257e2756dcda" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_4c6054a2-d4ba-4971-bd20-257e2756dcda_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1312cba1-a450-45c8-8a28-afe4f32884db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_4c6054a2-d4ba-4971-bd20-257e2756dcda" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1312cba1-a450-45c8-8a28-afe4f32884db" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_b3c385c0-248c-4f1e-9501-fc5e09805d06" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1312cba1-a450-45c8-8a28-afe4f32884db" xlink:to="loc_efoi_December2021PrivatePlacementMember_b3c385c0-248c-4f1e-9501-fc5e09805d06" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_03a748ab-0525-4486-99e6-cf5cc918a294" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_03a748ab-0525-4486-99e6-cf5cc918a294" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_03a748ab-0525-4486-99e6-cf5cc918a294_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_03a748ab-0525-4486-99e6-cf5cc918a294" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_03a748ab-0525-4486-99e6-cf5cc918a294_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_20a648e1-10ad-4d87-bc08-d9f23cb3e8f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_03a748ab-0525-4486-99e6-cf5cc918a294" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_20a648e1-10ad-4d87-bc08-d9f23cb3e8f6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_b61d3419-b904-488d-91c7-8209693495bd" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_20a648e1-10ad-4d87-bc08-d9f23cb3e8f6" xlink:to="loc_efoi_PreFundedWarrantsMember_b61d3419-b904-488d-91c7-8209693495bd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_15516d5e-3c8d-4438-beda-b590046c5e8d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_20a648e1-10ad-4d87-bc08-d9f23cb3e8f6" xlink:to="loc_us-gaap_WarrantMember_15516d5e-3c8d-4438-beda-b590046c5e8d" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails" xlink:type="extended" id="i14ff6dd8bdcc46c5b85ef76096746f43_StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9408adac-694a-43af-9541-9f3e2a763710" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_48f71c8d-27f3-4212-9ec1-2fbc3540995d" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9408adac-694a-43af-9541-9f3e2a763710" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_48f71c8d-27f3-4212-9ec1-2fbc3540995d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_9dc485b6-a54a-4cdd-a94d-d8980ae058bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9408adac-694a-43af-9541-9f3e2a763710" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_9dc485b6-a54a-4cdd-a94d-d8980ae058bd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9408adac-694a-43af-9541-9f3e2a763710" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_19eca4c7-fca9-4c5c-a081-b82cf4b496f2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_19eca4c7-fca9-4c5c-a081-b82cf4b496f2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_9e740e04-ba3b-4511-80e3-4fb1f970405c" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_19eca4c7-fca9-4c5c-a081-b82cf4b496f2" xlink:to="loc_efoi_December2021PrivatePlacementMember_9e740e04-ba3b-4511-80e3-4fb1f970405c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_f01e9232-d9df-4ecb-b8c2-7640267e25e9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_f01e9232-d9df-4ecb-b8c2-7640267e25e9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_f01e9232-d9df-4ecb-b8c2-7640267e25e9_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_f01e9232-d9df-4ecb-b8c2-7640267e25e9" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_f01e9232-d9df-4ecb-b8c2-7640267e25e9_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_874ff203-bc12-43f3-ac8c-bed7550f2b9e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_f01e9232-d9df-4ecb-b8c2-7640267e25e9" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_874ff203-bc12-43f3-ac8c-bed7550f2b9e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_e6879e86-7154-4ad9-961b-b8f688fec4dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_874ff203-bc12-43f3-ac8c-bed7550f2b9e" xlink:to="loc_us-gaap_WarrantMember_e6879e86-7154-4ad9-961b-b8f688fec4dc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_ecdba9dc-afb6-47c3-b960-324c910e4264" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_874ff203-bc12-43f3-ac8c-bed7550f2b9e" xlink:to="loc_efoi_PreFundedWarrantsMember_ecdba9dc-afb6-47c3-b960-324c910e4264" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityJune2021EquityOfferingDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails" xlink:type="extended" id="ieadc83ab1c844078879201c30e7cb9e5_StockholdersEquityJune2021EquityOfferingDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_731cd7bc-9e4a-4a5a-9ebb-709107398926" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_731cd7bc-9e4a-4a5a-9ebb-709107398926" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_ba557aad-e31f-4f49-a4f8-d407c62f500e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_ba557aad-e31f-4f49-a4f8-d407c62f500e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_fde81f79-5c51-4279-ab95-d7d83376906a" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_fde81f79-5c51-4279-ab95-d7d83376906a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_92413572-2a8a-4ca1-907c-44d01e583792" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_92413572-2a8a-4ca1-907c-44d01e583792" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_53190291-a8c5-4b5f-9f98-de93bdd27c6a" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_efoi_PaymentsForClearingFees_53190291-a8c5-4b5f-9f98-de93bdd27c6a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_10d85870-921b-4182-8371-262e94ca6283" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_10d85870-921b-4182-8371-262e94ca6283" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_61f4f427-2748-4baf-a1e8-4a5fa22794e3" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_61f4f427-2748-4baf-a1e8-4a5fa22794e3" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2b421a28-b023-4d19-b73f-8dbfd1f8ed90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2b421a28-b023-4d19-b73f-8dbfd1f8ed90" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_88532dc8-7c0b-45f2-82e2-d784b75ff564" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2b421a28-b023-4d19-b73f-8dbfd1f8ed90" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_88532dc8-7c0b-45f2-82e2-d784b75ff564" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_88532dc8-7c0b-45f2-82e2-d784b75ff564_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_88532dc8-7c0b-45f2-82e2-d784b75ff564" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_88532dc8-7c0b-45f2-82e2-d784b75ff564_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_8553313f-da8f-4966-95a8-d03d5f87974c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_88532dc8-7c0b-45f2-82e2-d784b75ff564" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_8553313f-da8f-4966-95a8-d03d5f87974c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_b30619be-142e-4abd-8e6c-8f60c581bbf8" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_8553313f-da8f-4966-95a8-d03d5f87974c" xlink:to="loc_efoi_InstitutionalInvestorMember_b30619be-142e-4abd-8e6c-8f60c581bbf8" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityPreferredStockDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails" xlink:type="extended" id="i6bf22fbf9aa5457fa6eb7327a95ac6d5_StockholdersEquityPreferredStockDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_12b38f32-980a-4a11-89e3-1ad83060a43e" xlink:href="efoi-20211231.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_12b38f32-980a-4a11-89e3-1ad83060a43e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_bf44cb11-c947-4a2b-ae6f-2b62b065da6f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_bf44cb11-c947-4a2b-ae6f-2b62b065da6f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_a316880a-b973-4915-80be-ab6bd3324446" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_a316880a-b973-4915-80be-ab6bd3324446" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_629f66e8-01ab-4694-969f-634b12f70aff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_629f66e8-01ab-4694-969f-634b12f70aff" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_b309ee1a-07b8-47da-b06b-bda9ac37b7f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_b309ee1a-07b8-47da-b06b-bda9ac37b7f7" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_aab50bb4-fc2c-4fe5-933a-2545690f62c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_aab50bb4-fc2c-4fe5-933a-2545690f62c8" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_81507c13-5653-4580-b9b4-25d9493d9dcb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_81507c13-5653-4580-b9b4-25d9493d9dcb" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_35304ed7-b919-4705-b793-e28b106ce6f9" xlink:href="efoi-20211231.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_35304ed7-b919-4705-b793-e28b106ce6f9" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_e958da04-4ccb-4cac-9ece-c9e8bb63edad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_e958da04-4ccb-4cac-9ece-c9e8bb63edad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_e958da04-4ccb-4cac-9ece-c9e8bb63edad_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_e958da04-4ccb-4cac-9ece-c9e8bb63edad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_e958da04-4ccb-4cac-9ece-c9e8bb63edad_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_c605de98-4f32-4e42-94bf-7cc1fe09326f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_e958da04-4ccb-4cac-9ece-c9e8bb63edad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_c605de98-4f32-4e42-94bf-7cc1fe09326f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_ca94c1ea-faaf-4447-81e6-e6deefdad1fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_c605de98-4f32-4e42-94bf-7cc1fe09326f" xlink:to="loc_us-gaap_ConvertibleDebtMember_ca94c1ea-faaf-4447-81e6-e6deefdad1fb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_b5f49b43-25b3-435a-adde-bb273643d420" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_b5f49b43-25b3-435a-adde-bb273643d420" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_b5f49b43-25b3-435a-adde-bb273643d420_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_b5f49b43-25b3-435a-adde-bb273643d420" xlink:to="loc_us-gaap_EquityComponentDomain_b5f49b43-25b3-435a-adde-bb273643d420_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_9b23c239-2707-4112-8613-87d62d8f6e97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_b5f49b43-25b3-435a-adde-bb273643d420" xlink:to="loc_us-gaap_EquityComponentDomain_9b23c239-2707-4112-8613-87d62d8f6e97" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_cdbfb1b5-7996-4dbd-8b86-4212deb3729b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_9b23c239-2707-4112-8613-87d62d8f6e97" xlink:to="loc_us-gaap_PreferredStockMember_cdbfb1b5-7996-4dbd-8b86-4212deb3729b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_70581a12-5f6a-4af7-bd24-6edc7798b26d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_9b23c239-2707-4112-8613-87d62d8f6e97" xlink:to="loc_us-gaap_CommonStockMember_70581a12-5f6a-4af7-bd24-6edc7798b26d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_dda9f240-bce6-466d-b3ac-040eefe32dd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_us-gaap_StatementClassOfStockAxis_dda9f240-bce6-466d-b3ac-040eefe32dd7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_dda9f240-bce6-466d-b3ac-040eefe32dd7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_dda9f240-bce6-466d-b3ac-040eefe32dd7" xlink:to="loc_us-gaap_ClassOfStockDomain_dda9f240-bce6-466d-b3ac-040eefe32dd7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_d87fc9b7-0ea6-467d-abfc-2bdedda2ff9e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_dda9f240-bce6-466d-b3ac-040eefe32dd7" xlink:to="loc_us-gaap_ClassOfStockDomain_d87fc9b7-0ea6-467d-abfc-2bdedda2ff9e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_1f12867e-19d3-434b-b6f6-eaa20d5c9cad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_d87fc9b7-0ea6-467d-abfc-2bdedda2ff9e" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_1f12867e-19d3-434b-b6f6-eaa20d5c9cad" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CounterpartyNameAxis_25beb975-1963-4ab6-a00e-9cc9518f69d2" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_CounterpartyNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_srt_CounterpartyNameAxis_25beb975-1963-4ab6-a00e-9cc9518f69d2" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RepurchaseAgreementCounterpartyNameDomain_25beb975-1963-4ab6-a00e-9cc9518f69d2_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_CounterpartyNameAxis_25beb975-1963-4ab6-a00e-9cc9518f69d2" xlink:to="loc_srt_RepurchaseAgreementCounterpartyNameDomain_25beb975-1963-4ab6-a00e-9cc9518f69d2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RepurchaseAgreementCounterpartyNameDomain_4da11bdd-34ed-439b-8922-40c7de8e680d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_CounterpartyNameAxis_25beb975-1963-4ab6-a00e-9cc9518f69d2" xlink:to="loc_srt_RepurchaseAgreementCounterpartyNameDomain_4da11bdd-34ed-439b-8922-40c7de8e680d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FusionParkLLCMember_5aa5b0da-2c8c-4c4e-a1f6-dd70a91115b5" xlink:href="efoi-20211231.xsd#efoi_FusionParkLLCMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RepurchaseAgreementCounterpartyNameDomain_4da11bdd-34ed-439b-8922-40c7de8e680d" xlink:to="loc_efoi_FusionParkLLCMember_5aa5b0da-2c8c-4c4e-a1f6-dd70a91115b5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_BrilliantStartEnterpriseInc.Member_9284283b-c58e-4254-a26a-5befbdba727f" xlink:href="efoi-20211231.xsd#efoi_BrilliantStartEnterpriseInc.Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RepurchaseAgreementCounterpartyNameDomain_4da11bdd-34ed-439b-8922-40c7de8e680d" xlink:to="loc_efoi_BrilliantStartEnterpriseInc.Member_9284283b-c58e-4254-a26a-5befbdba727f" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityJanuary2020EquityOfferingDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails" xlink:type="extended" id="i225469ef597f45048de209db6ace982b_StockholdersEquityJanuary2020EquityOfferingDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_1985d965-fa4b-479d-8e52-496625e28596" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_1985d965-fa4b-479d-8e52-496625e28596" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_4ec5c6e7-47e7-4b4c-97e9-0e518eadac23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_4ec5c6e7-47e7-4b4c-97e9-0e518eadac23" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_7168a15f-e3f3-4984-bebd-569dc4a24e2e" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_7168a15f-e3f3-4984-bebd-569dc4a24e2e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_c13753da-2e23-4451-91cd-a6913a38618a" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_c13753da-2e23-4451-91cd-a6913a38618a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_f1ed9757-cc71-4948-b524-d118f8a14bac" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_f1ed9757-cc71-4948-b524-d118f8a14bac" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_3a1b8c01-22c5-42be-8a9b-7abfa1962b4f" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_PaymentsForClearingFees_3a1b8c01-22c5-42be-8a9b-7abfa1962b4f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_c7a96396-80be-4283-9f91-190604597c47" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_c7a96396-80be-4283-9f91-190604597c47" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_c2940049-fa28-49d4-b377-37cba364712b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_c2940049-fa28-49d4-b377-37cba364712b" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_90bc8d8b-04f0-4836-ba53-09f3faee4d2f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_90bc8d8b-04f0-4836-ba53-09f3faee4d2f" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_7a9bc82d-e00c-4769-98cc-f71060f8de56" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_7a9bc82d-e00c-4769-98cc-f71060f8de56" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_210b8e24-6c32-457d-aec5-4da051f2395f" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentProceedsToBePaidToLenderPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_210b8e24-6c32-457d-aec5-4da051f2395f" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_0afdc60d-ccc6-436b-ae06-bd8c96c3f829" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_0afdc60d-ccc6-436b-ae06-bd8c96c3f829" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_4e9e580f-4b51-487d-a4fb-3e3c376e4f64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_4e9e580f-4b51-487d-a4fb-3e3c376e4f64" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_56f973b7-e3b5-4aae-ae75-1f742406903a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_56f973b7-e3b5-4aae-ae75-1f742406903a" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises_a86be42c-eae0-4782-b99c-9595cfa93cc1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ProceedsFromWarrantExercises_a86be42c-eae0-4782-b99c-9595cfa93cc1" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_7f8db019-15bb-4bc8-a7e3-d217318d65ef" xlink:href="efoi-20211231.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_7f8db019-15bb-4bc8-a7e3-d217318d65ef" xlink:type="arc" order="15"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_cb40150b-ef15-47ba-88ed-bdbb993abe14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_cb40150b-ef15-47ba-88ed-bdbb993abe14" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_cb40150b-ef15-47ba-88ed-bdbb993abe14_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_cb40150b-ef15-47ba-88ed-bdbb993abe14" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_cb40150b-ef15-47ba-88ed-bdbb993abe14_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_2700a3ac-8db2-47fd-ab9e-136bfddbb169" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_cb40150b-ef15-47ba-88ed-bdbb993abe14" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_2700a3ac-8db2-47fd-ab9e-136bfddbb169" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember_31d6880a-200d-47e6-8b06-24d312b3f8f1" xlink:href="efoi-20211231.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_2700a3ac-8db2-47fd-ab9e-136bfddbb169" xlink:to="loc_efoi_January2020InstitutionalInvestorMember_31d6880a-200d-47e6-8b06-24d312b3f8f1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_d8a6a964-e8a6-48be-924e-838bb1a2ea81" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_2700a3ac-8db2-47fd-ab9e-136bfddbb169" xlink:to="loc_efoi_January2020EquityOfferingMember_d8a6a964-e8a6-48be-924e-838bb1a2ea81" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_34a05233-e0ed-4179-a233-9fec4035007a" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_January2020EquityOfferingMember_d8a6a964-e8a6-48be-924e-838bb1a2ea81" xlink:to="loc_efoi_InstitutionalInvestorMember_34a05233-e0ed-4179-a233-9fec4035007a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember_ec430fb0-5231-4c6e-b6fd-fe75e03883a5" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_January2020EquityOfferingMember_d8a6a964-e8a6-48be-924e-838bb1a2ea81" xlink:to="loc_efoi_January2020EquityOfferingPrivatePlacementMember_ec430fb0-5231-4c6e-b6fd-fe75e03883a5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:to="loc_us-gaap_DebtInstrumentAxis_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_222ef2ed-2a43-4901-ac3b-1e66c1103ea3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_222ef2ed-2a43-4901-ac3b-1e66c1103ea3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IliadNotePurchaseAgreementMember_64881928-64b0-4598-bfc0-9717d4851297" xlink:href="efoi-20211231.xsd#efoi_IliadNotePurchaseAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_222ef2ed-2a43-4901-ac3b-1e66c1103ea3" xlink:to="loc_efoi_IliadNotePurchaseAgreementMember_64881928-64b0-4598-bfc0-9717d4851297" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" xlink:type="extended" id="i986fe2895aa9447fb96e33ccc57b021e_StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_fd577c0d-eaf9-4855-a909-a4014ed05768" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_fd577c0d-eaf9-4855-a909-a4014ed05768" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_66207c68-3cff-418d-89f2-dc230fd2dc74" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_66207c68-3cff-418d-89f2-dc230fd2dc74" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_c4fd946f-3dcd-44da-9e13-7d6b449f9143" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_c4fd946f-3dcd-44da-9e13-7d6b449f9143" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_1c9eb913-d803-43f0-8a52-b388890c2f7b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_1c9eb913-d803-43f0-8a52-b388890c2f7b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_1c9eb913-d803-43f0-8a52-b388890c2f7b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_1c9eb913-d803-43f0-8a52-b388890c2f7b" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_1c9eb913-d803-43f0-8a52-b388890c2f7b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_05b8c4dc-a07f-4d30-bc08-51f849092146" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_1c9eb913-d803-43f0-8a52-b388890c2f7b" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_05b8c4dc-a07f-4d30-bc08-51f849092146" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9db2cea8-41e6-4aac-8194-ced07fac07dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9db2cea8-41e6-4aac-8194-ced07fac07dc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_f2785059-7954-4404-bbb7-5f2ce28b33c9" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9db2cea8-41e6-4aac-8194-ced07fac07dc" xlink:to="loc_efoi_January2020EquityOfferingMember_f2785059-7954-4404-bbb7-5f2ce28b33c9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_e967c253-a0a1-44aa-b9f3-a5c5e926cafb" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_January2020EquityOfferingMember_f2785059-7954-4404-bbb7-5f2ce28b33c9" xlink:to="loc_efoi_InstitutionalInvestorMember_e967c253-a0a1-44aa-b9f3-a5c5e926cafb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember_1a9d0a59-ad57-4030-9876-be0b6ea276b8" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_January2020EquityOfferingMember_f2785059-7954-4404-bbb7-5f2ce28b33c9" xlink:to="loc_efoi_January2020EquityOfferingPrivatePlacementMember_1a9d0a59-ad57-4030-9876-be0b6ea276b8" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityStockbasedCompensationDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails" xlink:type="extended" id="i2659036f4d124605b005c36693dd0ca4_StockholdersEquityStockbasedCompensationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_83e52ce5-aecd-4ace-bb05-d7c376f2fce7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_83e52ce5-aecd-4ace-bb05-d7c376f2fce7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_45ff4392-516b-4dd0-a547-fadc846dd23b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_45ff4392-516b-4dd0-a547-fadc846dd23b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_02d3d1aa-8c3d-4cf0-9e62-5a323af55545" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_02d3d1aa-8c3d-4cf0-9e62-5a323af55545" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_15e29c06-b0c6-4fe9-b378-605b68022b00" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_15e29c06-b0c6-4fe9-b378-605b68022b00" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_ae3720fd-0c9d-4109-bdd8-d283e677f5f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_ae3720fd-0c9d-4109-bdd8-d283e677f5f5" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_us-gaap_PlanNameAxis_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5" xlink:to="loc_us-gaap_PlanNameDomain_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_51ebf664-e129-4e30-b975-f5c5c828307a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5" xlink:to="loc_us-gaap_PlanNameDomain_51ebf664-e129-4e30-b975-f5c5c828307a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2020Member_64e10004-8aee-4cc9-b6b2-6067ed90cd60" xlink:href="efoi-20211231.xsd#efoi_Plan2020Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_51ebf664-e129-4e30-b975-f5c5c828307a" xlink:to="loc_efoi_Plan2020Member_64e10004-8aee-4cc9-b6b2-6067ed90cd60" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2014Member_30ed662f-0483-4867-9002-397880692fdb" xlink:href="efoi-20211231.xsd#efoi_Plan2014Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_51ebf664-e129-4e30-b975-f5c5c828307a" xlink:to="loc_efoi_Plan2014Member_30ed662f-0483-4867-9002-397880692fdb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_srt_RangeAxis_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1" xlink:to="loc_srt_RangeMember_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_042b6b8e-a2f0-4d62-9c22-18abced7d48c" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1" xlink:to="loc_srt_RangeMember_042b6b8e-a2f0-4d62-9c22-18abced7d48c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_c0ed4f18-16f2-4f89-aff2-2630df533742" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_042b6b8e-a2f0-4d62-9c22-18abced7d48c" xlink:to="loc_srt_MinimumMember_c0ed4f18-16f2-4f89-aff2-2630df533742" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_567b96c6-c8cf-4916-9092-08735af015dd" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_042b6b8e-a2f0-4d62-9c22-18abced7d48c" xlink:to="loc_srt_MaximumMember_567b96c6-c8cf-4916-9092-08735af015dd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_2b81c2dc-0995-402f-9308-2f0f461dbbcd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_us-gaap_AwardTypeAxis_2b81c2dc-0995-402f-9308-2f0f461dbbcd" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2b81c2dc-0995-402f-9308-2f0f461dbbcd_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_2b81c2dc-0995-402f-9308-2f0f461dbbcd" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2b81c2dc-0995-402f-9308-2f0f461dbbcd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8d8c453-6485-4955-9b59-87cd76987576" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_2b81c2dc-0995-402f-9308-2f0f461dbbcd" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8d8c453-6485-4955-9b59-87cd76987576" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_c10cf637-b283-417a-96e1-e1ecac291463" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8d8c453-6485-4955-9b59-87cd76987576" xlink:to="loc_us-gaap_EmployeeStockOptionMember_c10cf637-b283-417a-96e1-e1ecac291463" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_aef09b1e-2669-446c-ac6c-a897cdecf6ca" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_srt_TitleOfIndividualAxis_aef09b1e-2669-446c-ac6c-a897cdecf6ca" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_aef09b1e-2669-446c-ac6c-a897cdecf6ca_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_aef09b1e-2669-446c-ac6c-a897cdecf6ca" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_aef09b1e-2669-446c-ac6c-a897cdecf6ca_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_ce4ccc6b-f50c-482a-9e28-6416a8105d1a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_aef09b1e-2669-446c-ac6c-a897cdecf6ca" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_ce4ccc6b-f50c-482a-9e28-6416a8105d1a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployeeMember_3e2e3d25-e731-4e54-995c-1cf9f5ed7370" xlink:href="efoi-20211231.xsd#efoi_EmployeeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_ce4ccc6b-f50c-482a-9e28-6416a8105d1a" xlink:to="loc_efoi_EmployeeMember_3e2e3d25-e731-4e54-995c-1cf9f5ed7370" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NonEmployeeDirectorMember_aae7f7c3-005a-46d9-a532-789cf332347b" xlink:href="efoi-20211231.xsd#efoi_NonEmployeeDirectorMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_ce4ccc6b-f50c-482a-9e28-6416a8105d1a" xlink:to="loc_efoi_NonEmployeeDirectorMember_aae7f7c3-005a-46d9-a532-789cf332347b" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityImpactofResultsforStockBasedCompensationDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails" xlink:type="extended" id="if11c2734644a4f2db190d7bf05c681df_StockholdersEquityImpactofResultsforStockBasedCompensationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_c855eb79-1d48-4864-b04b-9085005fdef2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_84a28ae1-8692-4adb-86e0-723fd8e5b2ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_c855eb79-1d48-4864-b04b-9085005fdef2" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_84a28ae1-8692-4adb-86e0-723fd8e5b2ca" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a5f358ee-2fa6-4431-8885-e076bc7e509c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_c855eb79-1d48-4864-b04b-9085005fdef2" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a5f358ee-2fa6-4431-8885-e076bc7e509c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_040ec5b6-c212-4214-a9bf-954040f9313c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a5f358ee-2fa6-4431-8885-e076bc7e509c" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_040ec5b6-c212-4214-a9bf-954040f9313c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_040ec5b6-c212-4214-a9bf-954040f9313c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_040ec5b6-c212-4214-a9bf-954040f9313c" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_040ec5b6-c212-4214-a9bf-954040f9313c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_040ec5b6-c212-4214-a9bf-954040f9313c" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_fa0df541-b7d7-4a69-ae32-ebd25bc8cc19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:to="loc_us-gaap_CostOfSalesMember_fa0df541-b7d7-4a69-ae32-ebd25bc8cc19" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_282c480d-f082-4541-badd-07425e98e66a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_282c480d-f082-4541-badd-07425e98e66a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_bf3075d0-1afc-4c25-83d9-8b67eea25b64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_bf3075d0-1afc-4c25-83d9-8b67eea25b64" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityEstimatesUtilizedDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails" xlink:type="extended" id="i06a121b957d5413580a19e292483017d_StockholdersEquityEstimatesUtilizedDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_0baec93e-9592-407f-ad4e-e7ae97f359e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_0baec93e-9592-407f-ad4e-e7ae97f359e5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_314e31f1-a527-4758-bc4b-d8ce0cea0132" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_314e31f1-a527-4758-bc4b-d8ce0cea0132" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_8d0a2adb-bc3f-4736-aa24-6dee4b07c2dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_8d0a2adb-bc3f-4736-aa24-6dee4b07c2dc" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_d0499bed-ecd1-40fc-890e-b428e87367c1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_d0499bed-ecd1-40fc-890e-b428e87367c1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_c1b0a253-ec72-4db3-ad7b-96cba92018f0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_c1b0a253-ec72-4db3-ad7b-96cba92018f0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_d48dfc04-a512-4dd0-a80a-ff7914c56c24" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_d48dfc04-a512-4dd0-a80a-ff7914c56c24" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9bf8d789-8d51-49a1-9c29-f794a8397f83" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9bf8d789-8d51-49a1-9c29-f794a8397f83" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_c69ea352-1ad5-4d1a-8f12-57aada3a33b5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9bf8d789-8d51-49a1-9c29-f794a8397f83" xlink:to="loc_us-gaap_AwardTypeAxis_c69ea352-1ad5-4d1a-8f12-57aada3a33b5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c69ea352-1ad5-4d1a-8f12-57aada3a33b5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_c69ea352-1ad5-4d1a-8f12-57aada3a33b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_c69ea352-1ad5-4d1a-8f12-57aada3a33b5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cc47b238-6fe7-43bb-8a07-6cb7afb8fae2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_c69ea352-1ad5-4d1a-8f12-57aada3a33b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cc47b238-6fe7-43bb-8a07-6cb7afb8fae2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_950f94d7-4825-4f8c-8175-6cacb7b4bd58" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cc47b238-6fe7-43bb-8a07-6cb7afb8fae2" xlink:to="loc_us-gaap_EmployeeStockOptionMember_950f94d7-4825-4f8c-8175-6cacb7b4bd58" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityStockOptionsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails" xlink:type="extended" id="ia526983f53ff4147bb0c53fd268b530d_StockholdersEquityStockOptionsNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_21f60796-ba78-4dce-bc47-7612a8bf1fd8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_21f60796-ba78-4dce-bc47-7612a8bf1fd8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_fab47775-1b1e-48ab-b7ee-09c5c18e3bf3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_fab47775-1b1e-48ab-b7ee-09c5c18e3bf3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_eae84051-d3af-47f5-96ab-a51531299519" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_eae84051-d3af-47f5-96ab-a51531299519" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_6898e26f-8309-4faa-b36c-1afc758d7896" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_6898e26f-8309-4faa-b36c-1afc758d7896" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_691037f0-1f42-476a-91b7-c4dcf1f32c55" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_691037f0-1f42-476a-91b7-c4dcf1f32c55" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice_336f90c7-2f7c-443d-9b56-f3cb048913cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_SharePrice_336f90c7-2f7c-443d-9b56-f3cb048913cd" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_fb8f17c8-0d78-4204-be46-066ac46f2521" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:to="loc_us-gaap_PlanNameAxis_fb8f17c8-0d78-4204-be46-066ac46f2521" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_fb8f17c8-0d78-4204-be46-066ac46f2521_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_fb8f17c8-0d78-4204-be46-066ac46f2521" xlink:to="loc_us-gaap_PlanNameDomain_fb8f17c8-0d78-4204-be46-066ac46f2521_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_4059a247-ed3e-4264-b6f4-c09becd373e0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_fb8f17c8-0d78-4204-be46-066ac46f2521" xlink:to="loc_us-gaap_PlanNameDomain_4059a247-ed3e-4264-b6f4-c09becd373e0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2014Member_b7f1eeeb-693b-4765-855b-1fff7d975cfb" xlink:href="efoi-20211231.xsd#efoi_Plan2014Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_4059a247-ed3e-4264-b6f4-c09becd373e0" xlink:to="loc_efoi_Plan2014Member_b7f1eeeb-693b-4765-855b-1fff7d975cfb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_54cf3e05-3f7b-4118-8ec2-8e9158a96754" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:to="loc_srt_RangeAxis_54cf3e05-3f7b-4118-8ec2-8e9158a96754" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_54cf3e05-3f7b-4118-8ec2-8e9158a96754_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_54cf3e05-3f7b-4118-8ec2-8e9158a96754" xlink:to="loc_srt_RangeMember_54cf3e05-3f7b-4118-8ec2-8e9158a96754_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a6717505-b9bb-44c0-8354-803c19f86ccf" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_54cf3e05-3f7b-4118-8ec2-8e9158a96754" xlink:to="loc_srt_RangeMember_a6717505-b9bb-44c0-8354-803c19f86ccf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_f66334c3-4cb9-4089-95e4-bd6a26a702a3" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_a6717505-b9bb-44c0-8354-803c19f86ccf" xlink:to="loc_srt_MinimumMember_f66334c3-4cb9-4089-95e4-bd6a26a702a3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5f0334aa-2aac-43b0-93f4-2c3c9893cf07" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_a6717505-b9bb-44c0-8354-803c19f86ccf" xlink:to="loc_srt_MaximumMember_5f0334aa-2aac-43b0-93f4-2c3c9893cf07" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_e8d136a1-0349-4705-94e1-f6dbc6051132" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:to="loc_us-gaap_AwardTypeAxis_e8d136a1-0349-4705-94e1-f6dbc6051132" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_e8d136a1-0349-4705-94e1-f6dbc6051132_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_e8d136a1-0349-4705-94e1-f6dbc6051132" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_e8d136a1-0349-4705-94e1-f6dbc6051132_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4b30ac8e-3d24-4f35-a723-ea3944f79c74" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_e8d136a1-0349-4705-94e1-f6dbc6051132" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4b30ac8e-3d24-4f35-a723-ea3944f79c74" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_e8f27199-f021-4c2c-b5ec-b89195674d7f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4b30ac8e-3d24-4f35-a723-ea3944f79c74" xlink:to="loc_us-gaap_EmployeeStockOptionMember_e8f27199-f021-4c2c-b5ec-b89195674d7f" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityOptionsOutstandingandExercisableDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails" xlink:type="extended" id="i2496777d7ecf49aea86d340a1a4d10ab_StockholdersEquityOptionsOutstandingandExercisableDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_7907a4cb-53d7-455a-a20e-5cad4c122195" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_7907a4cb-53d7-455a-a20e-5cad4c122195" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_d5472edf-3a3b-42b1-824f-012706e7a575" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_d5472edf-3a3b-42b1-824f-012706e7a575" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:href="efoi-20211231.xsd#efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_d561634d-8d10-452d-a598-b7334a89d81e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_d561634d-8d10-452d-a598-b7334a89d81e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_f5ddc370-a374-4774-ad5b-65db60db22d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:to="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_f5ddc370-a374-4774-ad5b-65db60db22d0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_d20ac893-9b7e-4423-9bf0-26b3896e05ad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:to="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_d20ac893-9b7e-4423-9bf0-26b3896e05ad" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:href="efoi-20211231.xsd#efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_707a6476-99a4-4370-bcd9-423088c2396c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_707a6476-99a4-4370-bcd9-423088c2396c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_a20ed12d-7be5-45f3-b8de-732f46fd1a4e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_a20ed12d-7be5-45f3-b8de-732f46fd1a4e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_f68cda0d-45eb-4f1b-8025-f1ba0885268b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:to="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_f68cda0d-45eb-4f1b-8025-f1ba0885268b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_dee65f02-a67f-482d-873c-17c302342921" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_dee65f02-a67f-482d-873c-17c302342921" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_b17937a9-fa91-4df8-a071-941b982ef157" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_dee65f02-a67f-482d-873c-17c302342921" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_b17937a9-fa91-4df8-a071-941b982ef157" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_b17937a9-fa91-4df8-a071-941b982ef157_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_b17937a9-fa91-4df8-a071-941b982ef157" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_b17937a9-fa91-4df8-a071-941b982ef157_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_b17937a9-fa91-4df8-a071-941b982ef157" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeOneMember_7dccd022-7773-4aff-a248-0f3b10be1ee2" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeOneMember_7dccd022-7773-4aff-a248-0f3b10be1ee2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeTwoMember_3bbc53a3-3102-490f-b6be-e70996ed9de9" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeTwoMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeTwoMember_3bbc53a3-3102-490f-b6be-e70996ed9de9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeThreeMember_ad32761e-0921-42e2-84e8-c900cb20d71e" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeThreeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeThreeMember_ad32761e-0921-42e2-84e8-c900cb20d71e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeFourMember_7b7d7958-1fb4-49f0-8a1a-3d3c16b7a26a" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeFourMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeFourMember_7b7d7958-1fb4-49f0-8a1a-3d3c16b7a26a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeFiveMember_6a6509c5-28d8-4036-8970-a908e50e4c0a" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeFiveMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeFiveMember_6a6509c5-28d8-4036-8970-a908e50e4c0a" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityRestrictedStockUnitsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails" xlink:type="extended" id="i8e8937c7b85349acb0d505084bc69673_StockholdersEquityRestrictedStockUnitsNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_42d5b0cc-b740-4822-86d0-688e04e18ab8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_c32c7234-41e0-4ac1-a12d-fd843b3c5925" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_42d5b0cc-b740-4822-86d0-688e04e18ab8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_c32c7234-41e0-4ac1-a12d-fd843b3c5925" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_42d5b0cc-b740-4822-86d0-688e04e18ab8" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_f461a819-7ed6-434f-aaed-33231efca500" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:to="loc_us-gaap_AwardTypeAxis_f461a819-7ed6-434f-aaed-33231efca500" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f461a819-7ed6-434f-aaed-33231efca500_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_f461a819-7ed6-434f-aaed-33231efca500" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f461a819-7ed6-434f-aaed-33231efca500_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_856808ff-4c8a-402a-90e9-711c944a816a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_f461a819-7ed6-434f-aaed-33231efca500" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_856808ff-4c8a-402a-90e9-711c944a816a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_a593f6af-31c6-4e93-a66d-a8c78d22f60a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_856808ff-4c8a-402a-90e9-711c944a816a" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_a593f6af-31c6-4e93-a66d-a8c78d22f60a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_d6b6a1ef-300a-4942-880a-4607324469bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:to="loc_us-gaap_PlanNameAxis_d6b6a1ef-300a-4942-880a-4607324469bf" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_d6b6a1ef-300a-4942-880a-4607324469bf_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_d6b6a1ef-300a-4942-880a-4607324469bf" xlink:to="loc_us-gaap_PlanNameDomain_d6b6a1ef-300a-4942-880a-4607324469bf_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_e8d57d01-00d9-40ea-980f-ae1fa443216d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_d6b6a1ef-300a-4942-880a-4607324469bf" xlink:to="loc_us-gaap_PlanNameDomain_e8d57d01-00d9-40ea-980f-ae1fa443216d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2014Member_3b8ba694-e222-4ff6-98fc-1b2a6a771914" xlink:href="efoi-20211231.xsd#efoi_Plan2014Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_e8d57d01-00d9-40ea-980f-ae1fa443216d" xlink:to="loc_efoi_Plan2014Member_3b8ba694-e222-4ff6-98fc-1b2a6a771914" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2020Member_3bc9d4a0-67e4-405e-b1fd-606bce30e5c3" xlink:href="efoi-20211231.xsd#efoi_Plan2020Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_e8d57d01-00d9-40ea-980f-ae1fa443216d" xlink:to="loc_efoi_Plan2020Member_3bc9d4a0-67e4-405e-b1fd-606bce30e5c3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_b1ecd3f5-5771-41e7-9175-03f64084ad11" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:to="loc_srt_RangeAxis_b1ecd3f5-5771-41e7-9175-03f64084ad11" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_b1ecd3f5-5771-41e7-9175-03f64084ad11_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_b1ecd3f5-5771-41e7-9175-03f64084ad11" xlink:to="loc_srt_RangeMember_b1ecd3f5-5771-41e7-9175-03f64084ad11_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_95924c60-a3bb-4077-ac6e-7397c3f7833a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_b1ecd3f5-5771-41e7-9175-03f64084ad11" xlink:to="loc_srt_RangeMember_95924c60-a3bb-4077-ac6e-7397c3f7833a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_95c0ecc5-a167-47ae-b1af-d5ad09d870fe" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_95924c60-a3bb-4077-ac6e-7397c3f7833a" xlink:to="loc_srt_MinimumMember_95c0ecc5-a167-47ae-b1af-d5ad09d870fe" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_042fb0a3-2a91-44a2-8bd2-9d52b362ec36" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_95924c60-a3bb-4077-ac6e-7397c3f7833a" xlink:to="loc_srt_MaximumMember_042fb0a3-2a91-44a2-8bd2-9d52b362ec36" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquitySummaryofRestrictedStockActivityDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails" xlink:type="extended" id="i1df2cfceeb8a46baba39cff08c050185_StockholdersEquitySummaryofRestrictedStockActivityDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_64c2c778-97ef-494d-9d94-a6045e8fdf09" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_64c2c778-97ef-494d-9d94-a6045e8fdf09" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_ac9530fb-c122-4e77-8547-5f9f05dc105b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_ac9530fb-c122-4e77-8547-5f9f05dc105b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_eb391a0b-a3d1-4fef-9975-b8eba76fc828" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_eb391a0b-a3d1-4fef-9975-b8eba76fc828" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c9b7baf2-debb-4816-b14a-4ccafcaac835" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c9b7baf2-debb-4816-b14a-4ccafcaac835" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_e1e44a40-01dd-4f55-aa3e-be98da760027" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_e1e44a40-01dd-4f55-aa3e-be98da760027" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_e910c1d6-c557-445d-a12d-02d7ce75f162" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_64c2c778-97ef-494d-9d94-a6045e8fdf09" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c76afdea-0e52-45ff-88ce-15cd6ad9af11" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c76afdea-0e52-45ff-88ce-15cd6ad9af11" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_84a63694-fbaa-4b34-bd11-d05396024eb8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_84a63694-fbaa-4b34-bd11-d05396024eb8" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c0193ba3-dd99-4009-80c5-62535a0c3443" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c0193ba3-dd99-4009-80c5-62535a0c3443" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_a4a71ab6-a8cb-41e8-a085-ae91a3a9d369" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_a4a71ab6-a8cb-41e8-a085-ae91a3a9d369" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_0c7dd4d4-720f-48b3-ba38-e2c24a78134b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6c0b3b78-8491-45b7-8e0b-7fdf29b71c53" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_64c2c778-97ef-494d-9d94-a6045e8fdf09" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6c0b3b78-8491-45b7-8e0b-7fdf29b71c53" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_73d3b43e-2018-490d-8712-740d901e88ae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6c0b3b78-8491-45b7-8e0b-7fdf29b71c53" xlink:to="loc_us-gaap_AwardTypeAxis_73d3b43e-2018-490d-8712-740d901e88ae" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_73d3b43e-2018-490d-8712-740d901e88ae_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_73d3b43e-2018-490d-8712-740d901e88ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_73d3b43e-2018-490d-8712-740d901e88ae_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_86014b51-36f8-4d83-8dd2-144ef081189f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_73d3b43e-2018-490d-8712-740d901e88ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_86014b51-36f8-4d83-8dd2-144ef081189f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_c78b6110-db0a-4db7-82bb-b5e43ffcb810" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_86014b51-36f8-4d83-8dd2-144ef081189f" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_c78b6110-db0a-4db7-82bb-b5e43ffcb810" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityEmployeeStockPurchasePlansDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" xlink:type="extended" id="i9c37c4773bb24028a48dc66fe62d8fad_StockholdersEquityEmployeeStockPurchasePlansDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_722d7156-c80f-4d62-8a0f-60f9c8b6d116" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_722d7156-c80f-4d62-8a0f-60f9c8b6d116" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_30551efc-8ee8-4eae-876a-4f17ba870570" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_30551efc-8ee8-4eae-876a-4f17ba870570" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_5acce6d3-c474-421f-808d-db71ad64d695" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_5acce6d3-c474-421f-808d-db71ad64d695" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_1dabd6da-276e-46b9-ba0c-e6b945074edf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_1dabd6da-276e-46b9-ba0c-e6b945074edf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_214232e0-612c-4838-ba79-ecd875cc1641" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_214232e0-612c-4838-ba79-ecd875cc1641" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_9245180a-d327-47c7-928e-b114f49f5212" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_214232e0-612c-4838-ba79-ecd875cc1641" xlink:to="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_9245180a-d327-47c7-928e-b114f49f5212" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_9245180a-d327-47c7-928e-b114f49f5212_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_9245180a-d327-47c7-928e-b114f49f5212" xlink:to="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_9245180a-d327-47c7-928e-b114f49f5212_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_0c7f3e26-481a-40e2-b64f-2de3dc8e59c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_9245180a-d327-47c7-928e-b114f49f5212" xlink:to="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_0c7f3e26-481a-40e2-b64f-2de3dc8e59c8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployeeStockPurchasePlan2013Member_51de9290-740f-4dcb-89d4-e17484dd0f90" xlink:href="efoi-20211231.xsd#efoi_EmployeeStockPurchasePlan2013Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_0c7f3e26-481a-40e2-b64f-2de3dc8e59c8" xlink:to="loc_efoi_EmployeeStockPurchasePlan2013Member_51de9290-740f-4dcb-89d4-e17484dd0f90" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended" id="if8c668af9ea14ca595ffee8c40843df1_IncomeTaxesNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_35e0e773-fb9d-4e02-b563-8be4e2f3094b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_35e0e773-fb9d-4e02-b563-8be4e2f3094b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_ac279820-c030-4b7d-9aa7-1586836dd62e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_OperatingLossCarryforwards_ac279820-c030-4b7d-9aa7-1586836dd62e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_945fc603-b4c9-4bf8-9a31-af3e980e60b9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_945fc603-b4c9-4bf8-9a31-af3e980e60b9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_a8be2f4a-d132-4c1e-be9f-8c0ec06a4713" xlink:href="efoi-20211231.xsd#efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_a8be2f4a-d132-4c1e-be9f-8c0ec06a4713" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_f4ce1559-9ae8-44ea-a738-ec64c135cef1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_f4ce1559-9ae8-44ea-a738-ec64c135cef1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_3ee174bc-6aa2-4de6-83e9-1ef84ec4228d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_DeferredTaxLiabilities_3ee174bc-6aa2-4de6-83e9-1ef84ec4228d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct_e787032a-83c6-446f-ab32-e50c92bca0b7" xlink:href="efoi-20211231.xsd#efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct_e787032a-83c6-446f-ab32-e50c92bca0b7" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromPaycheckProtectionProgram_f28abf13-d608-41c9-aa6c-05c09e893bd4" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromPaycheckProtectionProgram"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_efoi_ProceedsFromPaycheckProtectionProgram_f28abf13-d608-41c9-aa6c-05c09e893bd4" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_da4be973-fe72-4d31-93cd-7f2aac042901" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_da4be973-fe72-4d31-93cd-7f2aac042901" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_da4be973-fe72-4d31-93cd-7f2aac042901_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_da4be973-fe72-4d31-93cd-7f2aac042901" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_da4be973-fe72-4d31-93cd-7f2aac042901_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_e22f35e1-4650-4c79-b9a3-ea0552441cc6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_da4be973-fe72-4d31-93cd-7f2aac042901" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_e22f35e1-4650-4c79-b9a3-ea0552441cc6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_6c7f3bcd-32c6-496e-aa1d-567c68de286b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_e22f35e1-4650-4c79-b9a3-ea0552441cc6" xlink:to="loc_us-gaap_DomesticCountryMember_6c7f3bcd-32c6-496e-aa1d-567c68de286b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_20ab45b6-7957-412b-8939-b334a901b472" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_e22f35e1-4650-4c79-b9a3-ea0552441cc6" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_20ab45b6-7957-412b-8939-b334a901b472" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_7eb3cb8f-cced-4858-990b-ae01419849c6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:to="loc_us-gaap_DebtInstrumentAxis_7eb3cb8f-cced-4858-990b-ae01419849c6" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_7eb3cb8f-cced-4858-990b-ae01419849c6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_7eb3cb8f-cced-4858-990b-ae01419849c6" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_7eb3cb8f-cced-4858-990b-ae01419849c6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_d1f7f772-d7c3-402e-ae21-d2a90b19459c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_7eb3cb8f-cced-4858-990b-ae01419849c6" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_d1f7f772-d7c3-402e-ae21-d2a90b19459c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaycheckProtectionProgramCARESActMember_fc041cbb-9992-4aed-929f-d9fb8fbc97ed" xlink:href="efoi-20211231.xsd#efoi_PaycheckProtectionProgramCARESActMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d1f7f772-d7c3-402e-ae21-d2a90b19459c" xlink:to="loc_efoi_PaycheckProtectionProgramCARESActMember_fc041cbb-9992-4aed-929f-d9fb8fbc97ed" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#ProductandGeographicInformationDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails" xlink:type="extended" id="i6966ce455378488689c58a8082c6e7cd_ProductandGeographicInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee972827-9dbf-4415-be42-2d8ff307ddbf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_2fee2098-1bce-46e5-9b98-48231a37612a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee972827-9dbf-4415-be42-2d8ff307ddbf" xlink:to="loc_us-gaap_Revenues_2fee2098-1bce-46e5-9b98-48231a37612a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LonglivedAssetsLocatedinUSPercent_a950e787-c387-4a37-940c-7a8013032c76" xlink:href="efoi-20211231.xsd#efoi_LonglivedAssetsLocatedinUSPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee972827-9dbf-4415-be42-2d8ff307ddbf" xlink:to="loc_efoi_LonglivedAssetsLocatedinUSPercent_a950e787-c387-4a37-940c-7a8013032c76" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee972827-9dbf-4415-be42-2d8ff307ddbf" xlink:to="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_9f4b65fc-6666-463e-840e-c930afd70403" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:to="loc_srt_ProductOrServiceAxis_9f4b65fc-6666-463e-840e-c930afd70403" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_9f4b65fc-6666-463e-840e-c930afd70403_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_9f4b65fc-6666-463e-840e-c930afd70403" xlink:to="loc_srt_ProductsAndServicesDomain_9f4b65fc-6666-463e-840e-c930afd70403_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_12f2d4fd-4737-4a54-8636-0524ed24d62c" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_9f4b65fc-6666-463e-840e-c930afd70403" xlink:to="loc_srt_ProductsAndServicesDomain_12f2d4fd-4737-4a54-8636-0524ed24d62c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PoolAndCommercialProductsMember_7c4130fa-37ef-420c-afac-69550306769a" xlink:href="efoi-20211231.xsd#efoi_PoolAndCommercialProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_12f2d4fd-4737-4a54-8636-0524ed24d62c" xlink:to="loc_efoi_PoolAndCommercialProductsMember_7c4130fa-37ef-420c-afac-69550306769a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GovernmentProductsMember_c33b5fee-28a4-44f6-8b51-c459ff7c6fc4" xlink:href="efoi-20211231.xsd#efoi_GovernmentProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_12f2d4fd-4737-4a54-8636-0524ed24d62c" xlink:to="loc_efoi_GovernmentProductsMember_c33b5fee-28a4-44f6-8b51-c459ff7c6fc4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_612d04cc-f76a-46ef-b12e-79c8599fb55f" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:to="loc_srt_StatementGeographicalAxis_612d04cc-f76a-46ef-b12e-79c8599fb55f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_612d04cc-f76a-46ef-b12e-79c8599fb55f_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_612d04cc-f76a-46ef-b12e-79c8599fb55f" xlink:to="loc_srt_SegmentGeographicalDomain_612d04cc-f76a-46ef-b12e-79c8599fb55f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_24eb55b8-3539-4bfa-9ef2-6da1705851b8" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_612d04cc-f76a-46ef-b12e-79c8599fb55f" xlink:to="loc_srt_SegmentGeographicalDomain_24eb55b8-3539-4bfa-9ef2-6da1705851b8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_f8954c14-c464-4d88-a5fa-1346c1ac6521" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_24eb55b8-3539-4bfa-9ef2-6da1705851b8" xlink:to="loc_country_US_f8954c14-c464-4d88-a5fa-1346c1ac6521" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InternationalMember_e01e7702-0766-459b-868a-007d236a2fae" xlink:href="efoi-20211231.xsd#efoi_InternationalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_24eb55b8-3539-4bfa-9ef2-6da1705851b8" xlink:to="loc_efoi_InternationalMember_e01e7702-0766-459b-868a-007d236a2fae" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/OtherIncomeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#OtherIncomeDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/OtherIncomeDetails" xlink:type="extended" id="ia6ba1f3f79a944c581aadbf68baaf750_OtherIncomeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_fa33b4e4-61a3-4aaa-ac8a-2e98dea3138f" xlink:href="efoi-20211231.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_fa33b4e4-61a3-4aaa-ac8a-2e98dea3138f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_3be2c15d-cf25-4e9b-90e2-fc632231925f" xlink:href="efoi-20211231.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_3be2c15d-cf25-4e9b-90e2-fc632231925f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLoanOriginations1_36ced811-90e7-4d42-a051-214220cacbca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLoanOriginations1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_us-gaap_ProceedsFromLoanOriginations1_36ced811-90e7-4d42-a051-214220cacbca" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_11837335-bbed-42cf-9410-d675a3760b92" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_11837335-bbed-42cf-9410-d675a3760b92" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramCurrent_54a1e531-212f-47dd-8a32-4191af38b2e6" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_PaymentProtectionProgramCurrent_54a1e531-212f-47dd-8a32-4191af38b2e6" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramNoncurrent_9e18a3e4-2db2-4ef1-b932-371144d51793" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_PaymentProtectionProgramNoncurrent_9e18a3e4-2db2-4ef1-b932-371144d51793" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_ee0f6aef-2294-418d-8e30-4e22c2f66d4c" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_ee0f6aef-2294-418d-8e30-4e22c2f66d4c" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_1c597890-c906-4bad-8cb5-b686e5409a3e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_us-gaap_DebtInstrumentTable_1c597890-c906-4bad-8cb5-b686e5409a3e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_20be122f-57b1-4020-b805-fbbb6cd001e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_1c597890-c906-4bad-8cb5-b686e5409a3e" xlink:to="loc_us-gaap_DebtInstrumentAxis_20be122f-57b1-4020-b805-fbbb6cd001e4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_20be122f-57b1-4020-b805-fbbb6cd001e4_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_20be122f-57b1-4020-b805-fbbb6cd001e4" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_20be122f-57b1-4020-b805-fbbb6cd001e4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_0ecf6471-1a3d-4360-8e31-0c79ff93ac9b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_20be122f-57b1-4020-b805-fbbb6cd001e4" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_0ecf6471-1a3d-4360-8e31-0c79ff93ac9b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaycheckProtectionProgramCARESActMember_de03c4b2-eb30-4429-8460-6bb3a51ebac2" xlink:href="efoi-20211231.xsd#efoi_PaycheckProtectionProgramCARESActMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_0ecf6471-1a3d-4360-8e31-0c79ff93ac9b" xlink:to="loc_efoi_PaycheckProtectionProgramCARESActMember_de03c4b2-eb30-4429-8460-6bb3a51ebac2" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#RelatedPartyTransactionsDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails" xlink:type="extended" id="i1731530681954acd9a3014da52ac22ae_RelatedPartyTransactionsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_ab010ff8-0bf8-4a57-8488-8ac9317acc50" xlink:href="efoi-20211231.xsd#efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:to="loc_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_ab010ff8-0bf8-4a57-8488-8ac9317acc50" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction_aaeea310-7707-4363-aacb-57de44a5239d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:to="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction_aaeea310-7707-4363-aacb-57de44a5239d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest_337d06c8-e629-416d-a501-fb88004b2eaa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:to="loc_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest_337d06c8-e629-416d-a501-fb88004b2eaa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:to="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_73661234-1b96-46e5-8a8a-3c84025fe498" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_73661234-1b96-46e5-8a8a-3c84025fe498" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_73661234-1b96-46e5-8a8a-3c84025fe498_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_73661234-1b96-46e5-8a8a-3c84025fe498" xlink:to="loc_us-gaap_RelatedPartyDomain_73661234-1b96-46e5-8a8a-3c84025fe498_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_55f9630d-3dda-413f-88fd-55e14087ffcd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_73661234-1b96-46e5-8a8a-3c84025fe498" xlink:to="loc_us-gaap_RelatedPartyDomain_55f9630d-3dda-413f-88fd-55e14087ffcd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A13DGroupMember_3898dee2-1362-42d6-a648-27b04e1f9a8d" xlink:href="efoi-20211231.xsd#efoi_A13DGroupMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyDomain_55f9630d-3dda-413f-88fd-55e14087ffcd" xlink:to="loc_efoi_A13DGroupMember_3898dee2-1362-42d6-a648-27b04e1f9a8d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommunalMember_ca226eed-2989-4978-a5f7-e243d931d41b" xlink:href="efoi-20211231.xsd#efoi_CommunalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RelatedPartyDomain_55f9630d-3dda-413f-88fd-55e14087ffcd" xlink:to="loc_efoi_CommunalMember_ca226eed-2989-4978-a5f7-e243d931d41b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis_72684ca6-b1b9-4680-acea-d214a3225297" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LegalEntityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_dei_LegalEntityAxis_72684ca6-b1b9-4680-acea-d214a3225297" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_72684ca6-b1b9-4680-acea-d214a3225297_default" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_72684ca6-b1b9-4680-acea-d214a3225297" xlink:to="loc_dei_EntityDomain_72684ca6-b1b9-4680-acea-d214a3225297_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_72684ca6-b1b9-4680-acea-d214a3225297" xlink:to="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_JamesTuThroughFusionParkLLCMember_a911f4d6-71db-4296-9df2-81c85cc24e70" xlink:href="efoi-20211231.xsd#efoi_JamesTuThroughFusionParkLLCMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_JamesTuThroughFusionParkLLCMember_a911f4d6-71db-4296-9df2-81c85cc24e70" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_BrilliantStartEnterpriseInc.Member_3bde12b7-b27a-40cd-97a5-934139022bdd" xlink:href="efoi-20211231.xsd#efoi_BrilliantStartEnterpriseInc.Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_BrilliantStartEnterpriseInc.Member_3bde12b7-b27a-40cd-97a5-934139022bdd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A5ElementsGlobalAdvisorsMember_83af5ece-1c6b-4077-877f-209c4cea14b9" xlink:href="efoi-20211231.xsd#efoi_A5ElementsGlobalAdvisorsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_A5ElementsGlobalAdvisorsMember_83af5ece-1c6b-4077-877f-209c4cea14b9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A5ElementsEnergyEfficienciesBVILtdMember_1a946815-5820-4acd-aa6e-d43df9888223" xlink:href="efoi-20211231.xsd#efoi_A5ElementsEnergyEfficienciesBVILtdMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_A5ElementsEnergyEfficienciesBVILtdMember_1a946815-5820-4acd-aa6e-d43df9888223" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_YehMeiChengMember_78f4e24b-3532-4ac0-9512-feb849d9635a" xlink:href="efoi-20211231.xsd#efoi_YehMeiChengMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_YehMeiChengMember_78f4e24b-3532-4ac0-9512-feb849d9635a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_172d239e-388c-4a14-9df5-85306451b84d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_172d239e-388c-4a14-9df5-85306451b84d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain_172d239e-388c-4a14-9df5-85306451b84d_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_172d239e-388c-4a14-9df5-85306451b84d" xlink:to="loc_srt_EquityMethodInvesteeNameDomain_172d239e-388c-4a14-9df5-85306451b84d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain_9cf2638f-6d77-4a9f-a125-9ef5f885cdc9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_172d239e-388c-4a14-9df5-85306451b84d" xlink:to="loc_srt_EquityMethodInvesteeNameDomain_9cf2638f-6d77-4a9f-a125-9ef5f885cdc9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FiveElementsEfficientiesBVILtdMember_c787b08a-7bdf-402c-8298-675eb26c885d" xlink:href="efoi-20211231.xsd#efoi_FiveElementsEfficientiesBVILtdMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_EquityMethodInvesteeNameDomain_9cf2638f-6d77-4a9f-a125-9ef5f885cdc9" xlink:to="loc_efoi_FiveElementsEfficientiesBVILtdMember_c787b08a-7bdf-402c-8298-675eb26c885d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipAxis_133f29b2-46c0-4872-974c-0e26ce7f7ceb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_OwnershipAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_srt_OwnershipAxis_133f29b2-46c0-4872-974c-0e26ce7f7ceb" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipDomain_133f29b2-46c0-4872-974c-0e26ce7f7ceb_default" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_OwnershipDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_OwnershipAxis_133f29b2-46c0-4872-974c-0e26ce7f7ceb" xlink:to="loc_srt_OwnershipDomain_133f29b2-46c0-4872-974c-0e26ce7f7ceb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipDomain_1e4cdd05-4470-4e24-89fa-62236262e40b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_OwnershipDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_OwnershipAxis_133f29b2-46c0-4872-974c-0e26ce7f7ceb" xlink:to="loc_srt_OwnershipDomain_1e4cdd05-4470-4e24-89fa-62236262e40b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommunalInternationalLtdMember_76167609-9db2-42cf-a89d-6a1e6bce35ad" xlink:href="efoi-20211231.xsd#efoi_CommunalInternationalLtdMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_OwnershipDomain_1e4cdd05-4470-4e24-89fa-62236262e40b" xlink:to="loc_efoi_CommunalInternationalLtdMember_76167609-9db2-42cf-a89d-6a1e6bce35ad" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#ScheduleIIScheduleofValuationandQualifyingAccountsDetails"/>
  <link:definitionLink xlink:role="http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails" xlink:type="extended" id="id9510e268a2b4ce392803f068bd257ca_ScheduleIIScheduleofValuationandQualifyingAccountsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f04457fd-a9e9-4a92-a1ff-a64fec3c9aea" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f04457fd-a9e9-4a92-a1ff-a64fec3c9aea" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_c3c34c56-1ce9-489c-b2a5-81c23db8bac5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_c3c34c56-1ce9-489c-b2a5-81c23db8bac5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_3779060d-4820-4159-9ee0-13efddee33ad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_3779060d-4820-4159-9ee0-13efddee33ad" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_8b6e67b0-2a5f-4206-86aa-4a08758e8867" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_8b6e67b0-2a5f-4206-86aa-4a08758e8867" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_527ffe2f-f884-4df5-96e7-2f9727f35fee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_7860c7a1-f5b4-48b2-91c6-5f4b35b9629b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f04457fd-a9e9-4a92-a1ff-a64fec3c9aea" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_7860c7a1-f5b4-48b2-91c6-5f4b35b9629b" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_4c5e283b-23a0-4e55-8911-1ca491294af8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_7860c7a1-f5b4-48b2-91c6-5f4b35b9629b" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_4c5e283b-23a0-4e55-8911-1ca491294af8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_4c5e283b-23a0-4e55-8911-1ca491294af8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_4c5e283b-23a0-4e55-8911-1ca491294af8" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_4c5e283b-23a0-4e55-8911-1ca491294af8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_4c5e283b-23a0-4e55-8911-1ca491294af8" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossMember_5f136334-fb85-465a-9fbc-30decb68efb0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:to="loc_us-gaap_AllowanceForCreditLossMember_5f136334-fb85-465a-9fbc-30decb68efb0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserveMember_58eaf79e-1c3d-4a9e-9756-5a8399037338" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserveMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:to="loc_us-gaap_InventoryValuationReserveMember_58eaf79e-1c3d-4a9e-9756-5a8399037338" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9c7c1987-29f6-49e8-ac88-c9c63df4bec5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:to="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9c7c1987-29f6-49e8-ac88-c9c63df4bec5" xlink:type="arc" order="2"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>efoi-20211231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:13116448-71a2-4af8-9e91-d4c92f75b720,g:184c1f71-0180-45bd-bba3-700045272b27-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_ProceedsFromWarrantExercises_3ddf852b-c123-475a-981e-cbd26b47decb_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromWarrantExercises" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the exercise of warrants</link:label>
    <link:label id="lab_us-gaap_ProceedsFromWarrantExercises_label_en-US" xlink:label="lab_us-gaap_ProceedsFromWarrantExercises" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Warrant Exercises</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromWarrantExercises" xlink:to="lab_us-gaap_ProceedsFromWarrantExercises" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_e191ed7e-5009-4563-a1c5-6d5662924afc_terseLabel_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental information:</link:label>
    <link:label id="lab_us-gaap_SupplementalCashFlowInformationAbstract_label_en-US" xlink:label="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="lab_us-gaap_SupplementalCashFlowInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_6fbb6693-2d0e-45ac-bb50-1e14bc254755_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LegalMattersAndContingenciesTextBlock_4c8a391e-d545-40f5-9a44-d4298e99f0ec_terseLabel_en-US" xlink:label="lab_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Legal Matters</link:label>
    <link:label id="lab_us-gaap_LegalMattersAndContingenciesTextBlock_label_en-US" xlink:label="lab_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Legal Matters and Contingencies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:to="lab_us-gaap_LegalMattersAndContingenciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_fcb33fe1-16f2-4930-a493-a5337c39ea06_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. statutory rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_22a05e79-2431-4b7c-b8c7-e4b40bdcccb8_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (loss) per share</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConvertibleDebtMember_750cdbf4-759c-415f-8a44-bc69523a9713_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertibleDebtMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Debt</link:label>
    <link:label id="lab_us-gaap_ConvertibleDebtMember_label_en-US" xlink:label="lab_us-gaap_ConvertibleDebtMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Debt [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertibleDebtMember" xlink:to="lab_us-gaap_ConvertibleDebtMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_02b96cd2-6ad4-454f-8c8c-b35a063a070d_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_8132e1f2-2d52-4a15-a312-f9dd56470775_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_e057b95c-7921-4952-b881-7b117c820d4b_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold improvements</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember" xlink:to="lab_us-gaap_LeaseholdImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_37ac5fca-f93e-488c-84b1-55e6cbe26dd3_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_d883b290-35a4-400c-9cd7-350d09d7c083_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_7e4c26c3-3636-49a0-a95e-fcf580871c43_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_abc7317c-c99c-4a18-9604-fc1b98e2de69_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, right-of-use asset</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants_6b46cc69-c9e6-447e-a026-f68052e3a788_terseLabel_en-US" xlink:label="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock upon the exercise of warrants</link:label>
    <link:label id="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants_label_en-US" xlink:label="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock and Warrants Issued During Period, Value, Preferred Stock and Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:to="lab_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_f6c44667-5e04-4202-8c1a-27fc3dc349d5_verboseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, operating loss carry-forwards</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_d5fa5694-424f-45a7-8583-ff62c7ce8fe9_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net operating loss</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_25ff1798-86ce-4401-a7b0-dad37ff8248e_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares outstanding</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_cdec44f5-e5d9-415a-8a28-43f186dc384c_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_c5fe151e-d6eb-4b04-8681-e6435a72a2f0_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_2fc9614a-46a9-43b1-b9c8-00971aed3a12_terseLabel_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the issuance of common stock and warrants</link:label>
    <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_label_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Common Stock and Warrants</link:label>
    <link:label id="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_documentation_en-US" xlink:label="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Common Stock and Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:to="lab_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_86020f12-1bc1-4d3b-b92e-b9ff47d49ff7_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographic Summary of Net Sales</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="lab_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent_f0620a4a-a840-47e8-86ea-b4e21b881230_terseLabel_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured lease liabilities</link:label>
    <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Operating Lease, Liability, Current</link:label>
    <link:label id="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent_documentation_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:to="lab_efoi_RestructuredOperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_4e9b4b6f-08c7-49be-a917-4a196b41551c_terseLabel_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from the conversion of convertible debt to preferred stock</link:label>
    <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_label_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from the conversion of convertible debt to preferred stock</link:label>
    <link:label id="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_documentation_en-US" xlink:label="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from the conversion of convertible debt to preferred stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:href="efoi-20211231.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:to="lab_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_c38d4abe-722a-4726-998c-6b81d42bb416_totalLabel_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured lease income, net</link:label>
    <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_label_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Lease, Operating Lease, Cost, Net Of Sublease Income</link:label>
    <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_documentation_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Lease, Operating Lease, Cost, Net Of Sublease Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:to="lab_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_e6d38ec3-bab7-4ca3-969e-2aaa9fbddafe_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_de59bed3-fd0c-4a5e-a081-c98adf8dbc4a_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_1a8e1299-00a5-4d02-95da-b7cb64ca81de_terseLabel_en-US" xlink:label="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quarterly Financial Information Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quarterly Financial Information Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:to="lab_us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1_6b29d74b-0cf9-4b57-bd53-2ce494d6dc9a_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Convertible, Conversion Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="lab_us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_2d974a10-9aa7-4f27-8674-cccb2a04c351_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canceled (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_8630347c-f7fc-4d7d-8958-c6c7d86cfc58_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_6429787c-a7f7-4fc6-9353-36d421433856_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum redemption amount</link:label>
    <link:label id="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_label_en-US" xlink:label="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Subject To Mandatory Redemption, Maximum Amount</link:label>
    <link:label id="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument Subject To Mandatory Redemption, Maximum Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:to="lab_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_3e87c318-198b-49f7-8689-258f9dc85965_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canceled (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_cddc0b7a-f586-46cd-b6d6-94dc76f9bfae_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Type [Axis]</link:label>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis" xlink:to="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_589524f1-b61e-433a-8ae1-3be7fdc690fe_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, weighted average remaining lease term</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DomesticSupplierMember_4d4c814a-0135-498c-9313-076f2a8cc995_terseLabel_en-US" xlink:label="lab_efoi_DomesticSupplierMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Supplier</link:label>
    <link:label id="lab_efoi_DomesticSupplierMember_label_en-US" xlink:label="lab_efoi_DomesticSupplierMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Supplier [Member]</link:label>
    <link:label id="lab_efoi_DomesticSupplierMember_documentation_en-US" xlink:label="lab_efoi_DomesticSupplierMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Supplier</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DomesticSupplierMember" xlink:href="efoi-20211231.xsd#efoi_DomesticSupplierMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DomesticSupplierMember" xlink:to="lab_efoi_DomesticSupplierMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_1360ea8c-11ce-4906-be4b-604701c9c545_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Payment, Due, Rolling Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:to="lab_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_21fec7e4-d0f0-4fe7-bbbe-81f3c1b15729_terseLabel_en-US" xlink:label="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment, Name [Axis]</link:label>
    <link:label id="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_label_en-US" xlink:label="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment, Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8f96d140-00eb-4c3f-9ad7-5de761b44316_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_1cf292ec-f99c-42cd-936f-9beb8c6bcf32_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_d33af2bb-2ef0-4764-95ef-b9b4a8795ec5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares available for grant (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_MMMLEDProductsMember_80ed06e8-9e18-48ad-97e9-eafc1510d7a1_terseLabel_en-US" xlink:label="lab_efoi_MMMLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM LED Products</link:label>
    <link:label id="lab_efoi_MMMLEDProductsMember_label_en-US" xlink:label="lab_efoi_MMMLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM LED Products [Member]</link:label>
    <link:label id="lab_efoi_MMMLEDProductsMember_documentation_en-US" xlink:label="lab_efoi_MMMLEDProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM LED Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMLEDProductsMember" xlink:href="efoi-20211231.xsd#efoi_MMMLEDProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_MMMLEDProductsMember" xlink:to="lab_efoi_MMMLEDProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_f18cab88-a92b-45a7-9079-6d3302524ecc_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase in cash and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_5c61a9d6-f38f-42a5-8b40-78180f559f23_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_18040194-199d-4fc6-9c90-be4f8d4ff89c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected volatility</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_db278275-340f-412b-92cb-995addca2154_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_e1146528-a9b3-405e-9926-f9c315f58379_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_8101a512-dc9f-4143-b277-d665e62c956e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options exercised, intrinsic value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths_b65dc726-9893-4416-bb27-d2d3b8d2a758_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Payments, Due in Next Rolling 12 Months</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_IncreaseDecreaseInInventoryLevelsGross_74cedacd-63e2-401c-a51d-fc6203c24054_terseLabel_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reduction of gross inventory levels</link:label>
    <link:label id="lab_efoi_IncreaseDecreaseInInventoryLevelsGross_label_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Inventory Levels, Gross</link:label>
    <link:label id="lab_efoi_IncreaseDecreaseInInventoryLevelsGross_documentation_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Inventory Levels, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInInventoryLevelsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:to="lab_efoi_IncreaseDecreaseInInventoryLevelsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems_74feff78-056f-4fb7-9c37-cd112dc34e00_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtPrepaymentMaximumPercentage_7964dd43-8985-45ca-b003-f182c077623a_terseLabel_en-US" xlink:label="lab_efoi_DebtPrepaymentMaximumPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Prepayment Maximum, Percentage</link:label>
    <link:label id="lab_efoi_DebtPrepaymentMaximumPercentage_label_en-US" xlink:label="lab_efoi_DebtPrepaymentMaximumPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Prepayment Maximum, Percentage</link:label>
    <link:label id="lab_efoi_DebtPrepaymentMaximumPercentage_documentation_en-US" xlink:label="lab_efoi_DebtPrepaymentMaximumPercentage" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Prepayment Maximum, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtPrepaymentMaximumPercentage" xlink:href="efoi-20211231.xsd#efoi_DebtPrepaymentMaximumPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtPrepaymentMaximumPercentage" xlink:to="lab_efoi_DebtPrepaymentMaximumPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_476f2e51-f29d-408d-a7fb-6f2b7ef1a45d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Range of Exercise Prices, lower limit (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo_d30c6f73-7c10-49ab-8b0f-aebefd3b2047_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Payments, Due in Rolling Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_50d41b27-165d-4cde-a427-e0b520c84c75_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Charges to Revenue/ Expense</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive_36a58031-9b2c-4f5c-93b8-d8fe5fb1efc7_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Payments, Due in Rolling Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_a997af3c-e827-4ea8-9303-2a86e12cefab_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_c8a98b97-e177-4264-a78a-8ed9d0df85b8_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Contingent Consideration [Line Items]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Contingent Consideration [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionContingentConsiderationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionContingentConsiderationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_081845c2-3da2-492c-a6fa-a6777deddc50_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring Reserve by Type of Cost</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring Reserve by Type of Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:to="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfFinancingCosts_aaad63a1-bb01-4466-b071-f061a5774fc4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfFinancingCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for deferred financing costs &amp; termination fees</link:label>
    <link:label id="lab_us-gaap_PaymentsOfFinancingCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Financing Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfFinancingCosts" xlink:to="lab_us-gaap_PaymentsOfFinancingCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCost_3249476c-e621-41b3-8054-353e06a8cb71_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease cost</link:label>
    <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCost_label_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Lease, Operating Lease, Cost</link:label>
    <link:label id="lab_efoi_RestructuredLeaseOperatingLeaseCost_documentation_en-US" xlink:label="lab_efoi_RestructuredLeaseOperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Lease, Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCost" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseOperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeaseOperatingLeaseCost" xlink:to="lab_efoi_RestructuredLeaseOperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_9f336b8e-ff86-4b33-82c7-1db7dd4efd8b_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross proceeds from equity issuance</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance or Sale of Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:to="lab_us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_7045d181-f786-40c6-aa11-d969a4aed626_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="lab_us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_bc33d0cd-3a92-42ba-bf57-5d827b64d1b2_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount available based on qualifying accounts</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Available Amount Based On Qualified Accounts</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Available Amount Based On Qualified Accounts</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:to="lab_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_844ac4f0-6058-447d-8f78-63fc956c6463_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_8eaa59ef-0f5f-4cd3-be63-dbfd9486ee69_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive securities excluded from computation of earnings per share (number of shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_b01099b5-88ec-4c1e-a434-a7c583c093fb_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_a3024ff7-3c21-489a-95fa-d147e0f852d1_terseLabel_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OPTIONS EXERCISABLE</link:label>
    <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_label_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Exercisable [Abstract]</link:label>
    <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_documentation_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Exercisable [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:href="efoi-20211231.xsd#efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:to="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsidiarySaleOfStockAxis_b9c5638a-5483-4b07-83f9-8701369eecae_terseLabel_en-US" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsidiarySaleOfStockAxis_label_en-US" xlink:label="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis" xlink:to="lab_us-gaap_SubsidiarySaleOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_f544f00f-c405-454f-8fe1-d0096f9fbc06_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidRent_1094e11b-71f0-45c8-a7a5-de1e3313e51c_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidRent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid rent</link:label>
    <link:label id="lab_us-gaap_PrepaidRent_label_en-US" xlink:label="lab_us-gaap_PrepaidRent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Rent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidRent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidRent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidRent" xlink:to="lab_us-gaap_PrepaidRent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_9f22222c-a761-46c4-8296-ebd304e5f488_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reverse stock split ratio</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note, Stock Split, Conversion Ratio</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteStockSplitConversionRatio1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:to="lab_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_9b11fc60-4cc0-43f6-bc87-8b3e9965daba_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_ea5cc1a0-ee88-4a76-a233-eee67be04ff4_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Monthly service fee</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Monthly Facility Fee, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Monthly Facility Fee, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMonthlyFacilityFeePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:to="lab_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_132021ff-3755-47eb-891c-47aeb1dceccc_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_label_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_8f8a2ee9-fd4e-4ab6-809b-9d225b46786c_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment at cost</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_80c67a2f-f76e-4de1-85a0-3d105be349fe_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CommunalMember_020125e2-ea0e-405c-8a44-c92a2c9db321_terseLabel_en-US" xlink:label="lab_efoi_CommunalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Communal</link:label>
    <link:label id="lab_efoi_CommunalMember_label_en-US" xlink:label="lab_efoi_CommunalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Communal [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommunalMember" xlink:href="efoi-20211231.xsd#efoi_CommunalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommunalMember" xlink:to="lab_efoi_CommunalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_0cbb8ce0-b472-4cc6-b007-f5eadcd244ba_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_0021366e-de89-43fc-a47c-4339156c256d_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_01e442e9-8bc9-494e-b998-d891590a5fd5_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:to="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_EmployeeMember_9f40491d-d62f-4715-8e0c-41ccde01b348_terseLabel_en-US" xlink:label="lab_efoi_EmployeeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee</link:label>
    <link:label id="lab_efoi_EmployeeMember_label_en-US" xlink:label="lab_efoi_EmployeeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee [Member]</link:label>
    <link:label id="lab_efoi_EmployeeMember_documentation_en-US" xlink:label="lab_efoi_EmployeeMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployeeMember" xlink:href="efoi-20211231.xsd#efoi_EmployeeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_EmployeeMember" xlink:to="lab_efoi_EmployeeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockOptionMember_f2854e1c-9047-423b-966b-9adbf6c510ca_terseLabel_en-US" xlink:label="lab_us-gaap_StockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Option</link:label>
    <link:label id="lab_us-gaap_StockOptionMember_label_en-US" xlink:label="lab_us-gaap_StockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockOptionMember" xlink:to="lab_us-gaap_StockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_07750829-d24a-4315-a15c-ae5345b541c3_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_107675d1-edd0-4f0c-bf4f-1d19c8f8db1f_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_b7a2018e-6dbe-4c87-9260-2a51ce75953a_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionsAbstract_49464c42-9b56-4714-b7e7-92a57123fd46_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transactions [Abstract]</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionsAbstract_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transactions [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsAbstract" xlink:to="lab_us-gaap_RelatedPartyTransactionsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_013f3662-502f-458d-91e7-af71ccf06eea_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_7de32fde-54f2-4fdb-aca5-bcebdb8670cc_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_10f6d57f-cafd-4bb5-9085-37dd8d37427e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_b90f16b9-8b58-43e1-8172-bf368632129e_terseLabel_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount paid for placement agent commissions</link:label>
    <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_label_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Placement Agent Commissions</link:label>
    <link:label id="lab_efoi_PaymentsForPlacementAgentCommissions_documentation_en-US" xlink:label="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Placement Agent Commissions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsForPlacementAgentCommissions" xlink:to="lab_efoi_PaymentsForPlacementAgentCommissions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_9699e568-41f8-43ae-80aa-cc3d83c8e3ec_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCosts_a13058ef-1f4b-468b-a623-df7ae745c917_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring</link:label>
    <link:label id="lab_us-gaap_RestructuringCosts_label_en-US" xlink:label="lab_us-gaap_RestructuringCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCosts" xlink:to="lab_us-gaap_RestructuringCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt_050ab69a-3dfa-4ff0-805f-3e4a5de4dbc8_terseLabel_en-US" xlink:label="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest rate on convertible notes</link:label>
    <link:label id="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt_label_en-US" xlink:label="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Conversion, Original Debt, Interest Rate of Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtConversionOriginalDebtInterestRateOfDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:to="lab_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_c55bbe6f-91f3-456b-8848-755dca542d08_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration risk</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskPercentage1" xlink:to="lab_us-gaap_ConcentrationRiskPercentage1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_4554a83d-48ac-4dde-beed-c781d5c62d8c_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value $0.0001 per share:</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_1cfeec0e-1e55-4a72-90f4-3217ebb8af00_terseLabel_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, operating loss carryforwards, portion available after application of IRC Section 382 limitations</link:label>
    <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_label_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations</link:label>
    <link:label id="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_documentation_en-US" xlink:label="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:href="efoi-20211231.xsd#efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:to="lab_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ExercisePriceRangeOneMember_de3c8134-dc0c-4a90-8473-0f3fbef49cb9_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price, range one</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeOneMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range One [Member]</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeOneMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The first exercise price range.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeOneMember" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeOneMember" xlink:to="lab_efoi_ExercisePriceRangeOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_96146937-8788-44bc-bef1-41db17c6b77a_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_e1f86cd4-2282-4733-bb4d-6cf435b373b7_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_d6278997-58a2-4aa7-92cd-5020f7bb5da5_terseLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrual</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Provision (Accrual)</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesProvisionAccrual_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Provision (Accrual)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesProvisionAccrual" xlink:href="efoi-20211231.xsd#efoi_InventoryValuationReservesProvisionAccrual"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesProvisionAccrual" xlink:to="lab_efoi_InventoryValuationReservesProvisionAccrual" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_67b46eb3-7d8b-45bc-a49e-08d3538cad77_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_6b70dc81-0164-47ea-bb96-1332d57540b9_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid and other assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_7b9752a5-dc38-4703-8e3e-07b00f263b89_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_cebdb42b-4353-4174-8664-4eb4d7731687_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising expenses</link:label>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Cost [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ExercisePriceRangeFiveMember_012a4747-57a8-4c6d-b071-85f4f6ca6f01_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeFiveMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price, range five</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeFiveMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeFiveMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range Five [Member]</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeFiveMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeFiveMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeFiveMember" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeFiveMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeFiveMember" xlink:to="lab_efoi_ExercisePriceRangeFiveMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_76971611-a652-4ab3-9be1-0180d3ba59ef_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-use-asset</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Leasing Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPayments_25a87b3d-85a3-4342-8a6f-59f2dfb45c34_negatedLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Settlements made during the year (in kind)</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPayments_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty Accrual, Decrease for Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPayments" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_e89bfbc6-672c-4103-ae70-c8cffa8d6263_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_8ced3225-e790-4b94-a355-4c31f7ff293a_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of notes to preferred stock</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Conversion of Convertible Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_9605a052-4920-44a4-b1c7-14f0bbe5b0e6_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party [Axis]</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="lab_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_IncreaseDecreaseInInventoryReserves_8fc54e75-d5e1-4b38-a002-1f0aa8ba80f2_terseLabel_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryReserves" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (decrease) of excess inventory reserves</link:label>
    <link:label id="lab_efoi_IncreaseDecreaseInInventoryReserves_label_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Inventory Reserves</link:label>
    <link:label id="lab_efoi_IncreaseDecreaseInInventoryReserves_documentation_en-US" xlink:label="lab_efoi_IncreaseDecreaseInInventoryReserves" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Inventory Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInInventoryReserves" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInInventoryReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_IncreaseDecreaseInInventoryReserves" xlink:to="lab_efoi_IncreaseDecreaseInInventoryReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DeferredTaxAssetsLeasingArrangements_73441a8d-113c-41c0-8afd-2c6f1e885da8_terseLabel_en-US" xlink:label="lab_efoi_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease liabilities</link:label>
    <link:label id="lab_efoi_DeferredTaxAssetsLeasingArrangements_label_en-US" xlink:label="lab_efoi_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Leasing Arrangements</link:label>
    <link:label id="lab_efoi_DeferredTaxAssetsLeasingArrangements_documentation_en-US" xlink:label="lab_efoi_DeferredTaxAssetsLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Leasing Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsLeasingArrangements" xlink:href="efoi-20211231.xsd#efoi_DeferredTaxAssetsLeasingArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DeferredTaxAssetsLeasingArrangements" xlink:to="lab_efoi_DeferredTaxAssetsLeasingArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_236f9581-41c7-455e-be7a-b2f3e3389109_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_515d2fc2-9214-41a1-a8a2-dba5f41274c2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_22a41c53-ee60-4305-ab52-7d3fdfec0927_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock upon the exercise of warrants (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_d88b0ccb-ef09-4f3e-b027-99e1e7b995f1_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warrants exercised (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_eaddb47d-24a1-457b-854a-a3cf05d68193_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_072c6e40-d173-4e19-bc0c-1da4cd5139b1_terseLabel_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_label_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_f86cd19d-6453-4063-a374-fc56d57e76f3_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_f326d771-1e26-43d7-84ac-1e3d177fcce8_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:to="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_4abfd048-138f-474c-a6ef-0607d3bd84c8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_label_en-US" xlink:label="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:to="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_GainLossOnForgivenessOfDebt_5fcda512-5532-40fa-b20b-184037d7501e_negatedTerseLabel_en-US" xlink:label="lab_efoi_GainLossOnForgivenessOfDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain on forgiveness of PPP loan</link:label>
    <link:label id="lab_efoi_GainLossOnForgivenessOfDebt_b480931f-bf31-4336-841b-8e8f533dc0cd_terseLabel_en-US" xlink:label="lab_efoi_GainLossOnForgivenessOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain on forgiveness of PPP loan</link:label>
    <link:label id="lab_efoi_GainLossOnForgivenessOfDebt_label_en-US" xlink:label="lab_efoi_GainLossOnForgivenessOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) On Forgiveness Of Debt</link:label>
    <link:label id="lab_efoi_GainLossOnForgivenessOfDebt_documentation_en-US" xlink:label="lab_efoi_GainLossOnForgivenessOfDebt" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) On Forgiveness Of Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_GainLossOnForgivenessOfDebt" xlink:to="lab_efoi_GainLossOnForgivenessOfDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_14f13d58-c93e-4de3-8e12-23b955917ed6_negatedLabel_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal payments under finance lease obligations</link:label>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_c4c50e43-bda9-439c-a827-a1c1de94d7d6_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing cash flows from finance leases</link:label>
    <link:label id="lab_us-gaap_FinanceLeasePrincipalPayments_label_en-US" xlink:label="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Principal Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeasePrincipalPayments" xlink:to="lab_us-gaap_FinanceLeasePrincipalPayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_63e89aac-fc38-487f-8f84-c9cc637cec95_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_a1b4ed21-cf50-4c20-adc0-1c4ac65bc454_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payment, Due, Rolling Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:to="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_cd57d1ba-2c82-4dc5-9623-1768c80423cc_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss per share, basic (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_71885e9f-68a2-430b-9e81-9c03872a1b2c_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_f9326a6c-e0c6-4827-b836-1f3b020090ac_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating loss, subject to expiration</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RestructuredLeasesOperatingLeasePayments_2e723879-c393-4787-a39a-fb6ef88ad36d_terseLabel_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating cash flows from restructured leases</link:label>
    <link:label id="lab_efoi_RestructuredLeasesOperatingLeasePayments_label_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Leases, Operating Lease, Payments</link:label>
    <link:label id="lab_efoi_RestructuredLeasesOperatingLeasePayments_documentation_en-US" xlink:label="lab_efoi_RestructuredLeasesOperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Leases, Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesOperatingLeasePayments" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeasesOperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeasesOperatingLeasePayments" xlink:to="lab_efoi_RestructuredLeasesOperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubleaseIncome_b59e56cf-34aa-434f-a863-b6b489df1b93_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sub-lease income</link:label>
    <link:label id="lab_us-gaap_SubleaseIncome_label_en-US" xlink:label="lab_us-gaap_SubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sublease Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubleaseIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubleaseIncome" xlink:to="lab_us-gaap_SubleaseIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_BrilliantStartEnterpriseInc.Member_7fa76b70-061e-4f38-b46c-8f92052fb97f_terseLabel_en-US" xlink:label="lab_efoi_BrilliantStartEnterpriseInc.Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Brilliant Start Enterprise, Inc.</link:label>
    <link:label id="lab_efoi_BrilliantStartEnterpriseInc.Member_label_en-US" xlink:label="lab_efoi_BrilliantStartEnterpriseInc.Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Brilliant Start Enterprise, Inc. [Member]</link:label>
    <link:label id="lab_efoi_BrilliantStartEnterpriseInc.Member_documentation_en-US" xlink:label="lab_efoi_BrilliantStartEnterpriseInc.Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Brilliant Start Enterprise, Inc. [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_BrilliantStartEnterpriseInc.Member" xlink:href="efoi-20211231.xsd#efoi_BrilliantStartEnterpriseInc.Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_BrilliantStartEnterpriseInc.Member" xlink:to="lab_efoi_BrilliantStartEnterpriseInc.Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForCreditLossMember_bea81c8b-2fe6-4027-84c7-fedd9ffb5030_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForCreditLossMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for doubtful accounts and returns</link:label>
    <link:label id="lab_us-gaap_AllowanceForCreditLossMember_label_en-US" xlink:label="lab_us-gaap_AllowanceForCreditLossMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Allowance, Credit Loss [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForCreditLossMember" xlink:to="lab_us-gaap_AllowanceForCreditLossMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_bac79753-0706-48ae-90b4-ddfe58d2ecc7_terseLabel_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty, Number of Years</link:label>
    <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_label_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty, Number of Years</link:label>
    <link:label id="lab_efoi_StandardProductWarrantyNumberofYears_documentation_en-US" xlink:label="lab_efoi_StandardProductWarrantyNumberofYears" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty, Number of Years</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StandardProductWarrantyNumberofYears" xlink:href="efoi-20211231.xsd#efoi_StandardProductWarrantyNumberofYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_StandardProductWarrantyNumberofYears" xlink:to="lab_efoi_StandardProductWarrantyNumberofYears" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_4eb3630e-3d23-464e-a4d6-73734ca8acd7_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_672b0efd-797b-4f09-adfe-3ae3a8a2eeeb_terseLabel_en-US" xlink:label="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, borrowing rate</link:label>
    <link:label id="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_label_en-US" xlink:label="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Interest Rate, Effective Rate</link:label>
    <link:label id="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_documentation_en-US" xlink:label="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Interest Rate, Effective Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:href="efoi-20211231.xsd#efoi_LesseeOperatingLeaseInterestRateEffectiveRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:to="lab_efoi_LesseeOperatingLeaseInterestRateEffectiveRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnamortizedDebtIssuanceExpense_6217cf4c-44ef-4284-84e7-a44411864de7_terseLabel_en-US" xlink:label="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized net issuance costs</link:label>
    <link:label id="lab_us-gaap_UnamortizedDebtIssuanceExpense_label_en-US" xlink:label="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized Debt Issuance Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnamortizedDebtIssuanceExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnamortizedDebtIssuanceExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnamortizedDebtIssuanceExpense" xlink:to="lab_us-gaap_UnamortizedDebtIssuanceExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_2ce02afa-313d-4ffd-9041-c5007332923f_totalLabel_en-US" xlink:label="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets, total</link:label>
    <link:label id="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_label_en-US" xlink:label="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Including Restructured Leases</link:label>
    <link:label id="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Including Restructured Leases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:to="lab_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_b2de1ba8-a794-4984-8bc4-9908e8dcd157_terseLabel_en-US" xlink:label="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage increase due to deferral of redemption option</link:label>
    <link:label id="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_label_en-US" xlink:label="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Note Payable, Percentage Increase Due to Deferral of Redemption Option</link:label>
    <link:label id="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_documentation_en-US" xlink:label="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Note Payable, Percentage Increase Due to Deferral of Redemption Option</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:href="efoi-20211231.xsd#efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:to="lab_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryRawMaterials_9c7dd7a7-9f80-4a62-887e-645932de1ca6_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Raw materials</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterials_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Raw Materials, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterials"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterials" xlink:to="lab_us-gaap_InventoryRawMaterials" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_c135341a-5404-490b-9149-556b7a44b21d_terseLabel_en-US" xlink:label="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule II - Schedule of Valuation and Qualifying Accounts</link:label>
    <link:label id="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_label_en-US" xlink:label="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:to="lab_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryValuationReserveMember_70bfcfa7-7e6b-4e36-9b15-fb6cff8b1a99_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserveMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory reserves</link:label>
    <link:label id="lab_us-gaap_InventoryValuationReserveMember_label_en-US" xlink:label="lab_us-gaap_InventoryValuationReserveMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Reserve, Inventory [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserveMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserveMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryValuationReserveMember" xlink:to="lab_us-gaap_InventoryValuationReserveMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_e65b6660-ced3-406c-a84a-974db5e5c97e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</link:label>
    <link:label id="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_5ed6cd89-f8c1-438c-bba9-1cf32ab768d6_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="lab_us-gaap_DeferredTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_75151c58-3470-41e9-a8a8-3568d9ba74ea_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_086adcfd-e81b-4612-9bf2-73b9624dbb38_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating cash flows from operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember_22fdf4b2-b035-4cae-8b07-2d1c4be4fbde_terseLabel_en-US" xlink:label="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Department Of Defense</link:label>
    <link:label id="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember_label_en-US" xlink:label="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Department Of Defense [Member]</link:label>
    <link:label id="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember_documentation_en-US" xlink:label="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Department Of Defense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:href="efoi-20211231.xsd#efoi_DistributorToTheUSDepartmentOfDefenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:to="lab_efoi_DistributorToTheUSDepartmentOfDefenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalents_3b2b1bc0-4a98-40f5-9fc0-2d35608430d3_verboseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash held in other assets</link:label>
    <link:label id="lab_us-gaap_RestrictedCashAndCashEquivalents_label_en-US" xlink:label="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash and Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCashAndCashEquivalents" xlink:to="lab_us-gaap_RestrictedCashAndCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_e60fca42-a919-4c61-ba87-052fe6907937_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued warranty reserve</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_1a88c30f-9a5a-488d-8ca2-3cfb036f61fe_periodStartLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at the beginning of the year</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_6e365f7f-08bf-45cb-83da-01ad794bb15d_periodEndLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued warranty reserve at the end of the period</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualCurrent_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty Accrual, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpensePolicy_e75542f4-1dd9-4267-83f8-0667fa6af7ac_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpensePolicy_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_b52305d1-4fc3-4f33-a6e6-204951ab071b_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount available under facility based on qualified accounts receivable</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Amount Available Based On Qualified Accounts</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Amount Available Based On Qualified Accounts</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:to="lab_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryFacilityMember_3e07124b-d0aa-49ce-b7dc-06ce71e52c73_terseLabel_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Facility</link:label>
    <link:label id="lab_efoi_InventoryFacilityMember_label_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Facility [Member]</link:label>
    <link:label id="lab_efoi_InventoryFacilityMember_documentation_en-US" xlink:label="lab_efoi_InventoryFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Facility</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryFacilityMember" xlink:href="efoi-20211231.xsd#efoi_InventoryFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryFacilityMember" xlink:to="lab_efoi_InventoryFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_093e1934-0f5d-4bf4-9d88-56ebaafa9f8c_terseLabel_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase price (in dollars per share)</link:label>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_label_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class Of Warrant Or Right, Warrants Issued, Price Per Share</link:label>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_documentation_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class Of Warrant Or Right, Warrants Issued, Price Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:to="lab_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_0f6d6903-cb43-4e3a-b174-08955a77cb3a_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for doubtful accounts receivable</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_label_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_ef7abf96-fa3c-4258-9028-92d8a8e6b416_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liability, net of discount and financing fees</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:to="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_2b5fdedc-899c-45c4-aca6-208dcf7116ee_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption, Period Two</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption, Period Two [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityVoluntaryFilers_49a1b2ba-6c39-4122-ade5-294038992410_terseLabel_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:label id="lab_dei_EntityVoluntaryFilers_label_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityVoluntaryFilers"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers" xlink:to="lab_dei_EntityVoluntaryFilers" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_56b4da0b-e643-4bf3-a2f2-e25582e3f925_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss, diluted (in USD per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Diluted Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_20f5610a-fc48-41fb-8f25-e9db1b42156a_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAsset_d0f566f2-9b25-4165-a779-8fe250d62125_totalLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease assets, net</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-of-Use Asset, after Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_860b103f-592a-419c-99f9-475c1f5f5c4b_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_3c54da2f-89fc-41a4-b67a-da64f5b14bf1_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accruals for warranties issued</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualWarrantiesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_9058a358-e757-4702-9b29-e2adbfc7e76f_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares of common shares outstanding:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic and Diluted, Other Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_3c8677d5-67b1-418d-91da-4a944c60f0e5_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_AuditInformationAbstract_label_en-US" xlink:label="lab_efoi_AuditInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Audit Information [Abstract]</link:label>
    <link:label id="lab_efoi_AuditInformationAbstract_documentation_en-US" xlink:label="lab_efoi_AuditInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Audit Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AuditInformationAbstract" xlink:href="efoi-20211231.xsd#efoi_AuditInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AuditInformationAbstract" xlink:to="lab_efoi_AuditInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_ea2b2860-2b79-4da2-ac9d-464175ada1db_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_83663660-201a-49e2-ab88-76a18980b122_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from issuance of subordinated convertible promissory notes</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Subordinated Long-term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_a3a44579-8b34-4b0f-a1a3-7a50ad92d643_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and stockholders' equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_baf796c0-1eb5-4cfe-9b3a-896457a8e5dd_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_d2bcccdf-afbb-4549-8626-ebd71da3b4ed_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherIncomeAndExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OtherIncomeAndExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income and Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="lab_us-gaap_OtherIncomeAndExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementScenarioAxis_d7adeab7-7390-4a34-b8a2-01e4767b1dbc_terseLabel_en-US" xlink:label="lab_srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:label id="lab_srt_StatementScenarioAxis_label_en-US" xlink:label="lab_srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementScenarioAxis" xlink:to="lab_srt_StatementScenarioAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_70d9da81-8e43-459c-a4fc-40a51afed139_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedCash_e932834e-0aee-4b8a-8f93-91f8f023841e_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted cash</link:label>
    <link:label id="lab_us-gaap_RestrictedCash_label_en-US" xlink:label="lab_us-gaap_RestrictedCash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCash"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedCash" xlink:to="lab_us-gaap_RestrictedCash" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_6f244702-6f75-4f64-b3c2-02e755bfd55a_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskLineItems" xlink:to="lab_us-gaap_ConcentrationRiskLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_a6fb917a-8b7d-4973-b553-98d7e964e4b4_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_4e48a870-3293-4015-b5dd-8f54cbd2fb0a_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:to="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveRollForward_f445c5ae-fe6c-4b6e-bc57-5d9482af03c0_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_RestructuringReserveRollForward_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveRollForward" xlink:to="lab_us-gaap_RestructuringReserveRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureTable_aa449869-e756-46d2-8755-3ef358136db6_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureTable_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_07ba90d2-291d-4615-8ec1-9f3e3890f491_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating expenses:</link:label>
    <link:label id="lab_us-gaap_OperatingExpensesAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpensesAbstract" xlink:to="lab_us-gaap_OperatingExpensesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_1d83903b-282f-46a9-9f7b-c48b83842b07_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_250bf3b3-69e2-46a2-bf55-b640c2a1ac8f_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_a93b9f85-feba-430e-9da9-a8b9d59840f0_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_f6b15e46-0362-419e-9653-7ec5d1d069e7_terseLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_f0ece5dc-9905-48f6-91e5-9af72657ffb5_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general, and administrative</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromNotesPayable_b500a6d8-9f80-4d9e-9220-09410bf469ec_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromNotesPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the Streeterville Note</link:label>
    <link:label id="lab_us-gaap_ProceedsFromNotesPayable_label_en-US" xlink:label="lab_us-gaap_ProceedsFromNotesPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Notes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromNotesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromNotesPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromNotesPayable" xlink:to="lab_us-gaap_ProceedsFromNotesPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_cdbc34ff-6a91-48e0-8e57-5a3239402c4b_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_0caff06b-a24f-4af9-8116-fd13b1e6252e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightDomain_99c6e9e7-8679-46e6-b17a-084ecd41c71c_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain" xlink:to="lab_us-gaap_ClassOfWarrantOrRightDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_689e5f32-2364-4212-b2ad-131b43267cee_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_620999d1-74ae-47be-accb-0f9cca96e3f6_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_EmployeeStockPurchasePlan2013Member_3113afd8-0eba-4ca3-96fe-d039878d8649_terseLabel_en-US" xlink:label="lab_efoi_EmployeeStockPurchasePlan2013Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2013 Plan</link:label>
    <link:label id="lab_efoi_EmployeeStockPurchasePlan2013Member_label_en-US" xlink:label="lab_efoi_EmployeeStockPurchasePlan2013Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Purchase Plan 2013 [Member]</link:label>
    <link:label id="lab_efoi_EmployeeStockPurchasePlan2013Member_documentation_en-US" xlink:label="lab_efoi_EmployeeStockPurchasePlan2013Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Information related to the employee stock purchase plan approved in 2013.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployeeStockPurchasePlan2013Member" xlink:href="efoi-20211231.xsd#efoi_EmployeeStockPurchasePlan2013Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_EmployeeStockPurchasePlan2013Member" xlink:to="lab_efoi_EmployeeStockPurchasePlan2013Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_1b0733c0-d668-427f-8e0c-f9a0137cfd14_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeFinanceLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Finance Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeFinanceLeasesTextBlock" xlink:to="lab_us-gaap_LesseeFinanceLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserve_96de175f-6947-425a-946f-6121d41c0730_periodStartLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_06798996-243e-4a55-8208-8b6092bc69cc_periodEndLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_4244e6de-43f8-454d-bb3b-cf5ab59bc240_totalLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at December 31</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_label_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserve" xlink:to="lab_us-gaap_RestructuringReserve" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InstitutionalInvestorMember_5c5f9e8e-6583-4125-9033-1cf7a60a1874_terseLabel_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investor Warrants</link:label>
    <link:label id="lab_efoi_InstitutionalInvestorMember_88cbad31-938c-487c-b1dd-c3629d71370e_verboseLabel_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Offering</link:label>
    <link:label id="lab_efoi_InstitutionalInvestorMember_label_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Institutional Investor [Member]</link:label>
    <link:label id="lab_efoi_InstitutionalInvestorMember_documentation_en-US" xlink:label="lab_efoi_InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Institutional Investor</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InstitutionalInvestorMember" xlink:to="lab_efoi_InstitutionalInvestorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedEmployeeBenefitsCurrent_88b161ab-3255-4cc7-959f-0a09d92a0d85_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued payroll and related benefits</link:label>
    <link:label id="lab_us-gaap_AccruedEmployeeBenefitsCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Employee Benefits, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:to="lab_us-gaap_AccruedEmployeeBenefitsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_67a3dbcf-4444-4880-ad9a-a8cef2b97bc5_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_dc6a4a94-1378-4ac3-8603-564ed4cc0c40_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Options Outstanding</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues_6dcf2c73-c79c-46e2-adb1-f3672bb9c343_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock and warrants</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, New Issues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_StreetervilleNotePurchaseAgreementMember_5826f145-8804-49ac-a7d5-488a26b9648a_terseLabel_en-US" xlink:label="lab_efoi_StreetervilleNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Streeterville Note</link:label>
    <link:label id="lab_efoi_StreetervilleNotePurchaseAgreementMember_label_en-US" xlink:label="lab_efoi_StreetervilleNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Streeterville Note Purchase Agreement [Member]</link:label>
    <link:label id="lab_efoi_StreetervilleNotePurchaseAgreementMember_documentation_en-US" xlink:label="lab_efoi_StreetervilleNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Streeterville Note Purchase Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StreetervilleNotePurchaseAgreementMember" xlink:href="efoi-20211231.xsd#efoi_StreetervilleNotePurchaseAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_StreetervilleNotePurchaseAgreementMember" xlink:to="lab_efoi_StreetervilleNotePurchaseAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_9d60499a-79c6-4780-aa8f-c6dbdf5ffbb8_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesOutstanding_0fda3649-760e-4f92-8f43-c9e7f9f704dc_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_e0d734c0-ae8b-4fe0-9846-434dbc6fbd45_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesOutstanding_label_en-US" xlink:label="lab_us-gaap_SharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesOutstanding" xlink:to="lab_us-gaap_SharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_eda14e58-9174-4468-99ac-52d6c4ce069b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Benefits from Income Taxes</link:label>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_a4f53139-cdd7-43ba-9c9e-c512b4fbdb9b_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercisable (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_85dea728-972f-4cbd-b201-88a6b92b086e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Shares Exercisable (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PoolAndCommercialProductsMember_26b186a0-f566-453d-99bb-309077bcee67_verboseLabel_en-US" xlink:label="lab_efoi_PoolAndCommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial products</link:label>
    <link:label id="lab_efoi_PoolAndCommercialProductsMember_label_en-US" xlink:label="lab_efoi_PoolAndCommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pool And Commercial Products [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PoolAndCommercialProductsMember" xlink:href="efoi-20211231.xsd#efoi_PoolAndCommercialProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PoolAndCommercialProductsMember" xlink:to="lab_efoi_PoolAndCommercialProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_2c0e1663-5244-46cd-a205-9bd95767dfdc_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 3</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member" xlink:to="lab_us-gaap_FairValueInputsLevel3Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_e58217a8-5072-49c5-a745-8c8646072dec_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_bc95700d-442d-4a20-aa7a-124c440960f9_negatedLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: accumulated depreciation</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_36af96dd-3427-4dbc-83e3-cab09fbcc868_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued interest and penalties related to uncertain tax positions</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_e5726b98-c684-4112-97b5-bf216b2f779e_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_3e0a1998-a2ca-4703-8cc8-51a6527f5e83_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, New Issues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_819a2808-a266-4de4-a889-240ac53fc565_terseLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reduction due to sold inventory</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Sales Of Inventory</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesSalesOfInventory_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Sales Of Inventory</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesSalesOfInventory" xlink:href="efoi-20211231.xsd#efoi_InventoryValuationReservesSalesOfInventory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesSalesOfInventory" xlink:to="lab_efoi_InventoryValuationReservesSalesOfInventory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfStockIssuanceCosts_af925e13-9189-462e-8b54-f913e381ed60_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offering costs paid on the issuance of common stock and warrants</link:label>
    <link:label id="lab_us-gaap_PaymentsOfStockIssuanceCosts_5c71c1f9-c1b6-4ed9-a538-e078e1d40e10_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offering costs paid on the issuance of common stock and warrants</link:label>
    <link:label id="lab_us-gaap_PaymentsOfStockIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Stock Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="lab_us-gaap_PaymentsOfStockIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InternationalMember_780f0c86-8b42-4ddc-992e-96aa211aa8f9_terseLabel_en-US" xlink:label="lab_efoi_InternationalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">International</link:label>
    <link:label id="lab_efoi_InternationalMember_label_en-US" xlink:label="lab_efoi_InternationalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">International [Member]</link:label>
    <link:label id="lab_efoi_InternationalMember_documentation_en-US" xlink:label="lab_efoi_InternationalMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">International</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InternationalMember" xlink:href="efoi-20211231.xsd#efoi_InternationalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InternationalMember" xlink:to="lab_efoi_InternationalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedProfessionalFeesCurrent_0aa5003c-2a3c-476b-998a-81a7f2537dfb_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued legal and professional fees</link:label>
    <link:label id="lab_us-gaap_AccruedProfessionalFeesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Professional Fees, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedProfessionalFeesCurrent" xlink:to="lab_us-gaap_AccruedProfessionalFeesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_936e5d58-dd9a-4709-ad09-5043f155598c_terseLabel_en-US" xlink:label="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leases</link:label>
    <link:label id="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_label_en-US" xlink:label="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Assets And Liabilities, Lessee [Abstract]</link:label>
    <link:label id="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Assets And Liabilities, Lessee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:to="lab_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_0b0f1fb9-79fc-4ce5-ae9f-e7cfcaae9bc0_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_c26ea7d3-3ee1-4ddb-9f53-7ef2c0940c19_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease obligations</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_f8eac2a3-fb5e-498b-b5ed-4b9f00171291_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Breakdown of Product Net Sales</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from External Customers by Products and Services [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_a2fbb7ce-8f60-4cb5-82d6-99f84f247d20_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_9bef38d4-8f18-4432-a568-e53d97d6a98d_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value $0.0001 per share:</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_286aaf10-9c3d-4e6e-b62a-4d30b86a7e93_totalLabel_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease cost, net</link:label>
    <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_label_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost, Net Of Sublease Income</link:label>
    <link:label id="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost, Net Of Sublease Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseCostNetOfSubleaseIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:to="lab_efoi_OperatingLeaseCostNetOfSubleaseIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentAmount_e134d157-00d0-488b-a0fe-495021323ad3_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase commitment</link:label>
    <link:label id="lab_us-gaap_LongTermPurchaseCommitmentAmount_label_en-US" xlink:label="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Purchase Commitment, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermPurchaseCommitmentAmount" xlink:to="lab_us-gaap_LongTermPurchaseCommitmentAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_e7830e19-bb69-4e77-bf4d-0a27235bb9e8_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining weighted average life</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CommercialProductsMember_a751a08a-fb48-4927-b10c-74f1376ec200_terseLabel_en-US" xlink:label="lab_efoi_CommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Products</link:label>
    <link:label id="lab_efoi_CommercialProductsMember_label_en-US" xlink:label="lab_efoi_CommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Products [Member]</link:label>
    <link:label id="lab_efoi_CommercialProductsMember_documentation_en-US" xlink:label="lab_efoi_CommercialProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commercial Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialProductsMember" xlink:href="efoi-20211231.xsd#efoi_CommercialProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommercialProductsMember" xlink:to="lab_efoi_CommercialProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_96b97c81-94dd-47f6-8ee8-b8dd72525527_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_a6c5f01f-58d4-4ec3-a27b-b20e9ee19aa5_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaycheckProtectionProgramCARESActMember_c6b28b7b-dbbe-4e8c-a4db-98c99debce7c_terseLabel_en-US" xlink:label="lab_efoi_PaycheckProtectionProgramCARESActMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Paycheck Protection Program CARES Act</link:label>
    <link:label id="lab_efoi_PaycheckProtectionProgramCARESActMember_label_en-US" xlink:label="lab_efoi_PaycheckProtectionProgramCARESActMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Paycheck Protection Program CARES Act [Member]</link:label>
    <link:label id="lab_efoi_PaycheckProtectionProgramCARESActMember_documentation_en-US" xlink:label="lab_efoi_PaycheckProtectionProgramCARESActMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Paycheck Protection Program CARES Act</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaycheckProtectionProgramCARESActMember" xlink:href="efoi-20211231.xsd#efoi_PaycheckProtectionProgramCARESActMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaycheckProtectionProgramCARESActMember" xlink:to="lab_efoi_PaycheckProtectionProgramCARESActMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyLiabilityTable_56f54032-0d10-4a18-85e8-3b9aa367af8c_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Liability [Table]</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyLiabilityTable_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Liability [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable" xlink:to="lab_us-gaap_ProductWarrantyLiabilityTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_a1362b93-b5fe-4a9a-9b25-e175c89718d0_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer concentration risk</link:label>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerConcentrationRiskMember" xlink:to="lab_us-gaap_CustomerConcentrationRiskMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_461c7777-eefa-497c-84f2-c3f00f07100d_terseLabel_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of presentation</link:label>
    <link:label id="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_2bde2b01-80ba-4dae-acb1-9f9b1482325f_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_ade86632-b956-4aa9-b8bf-9d89cf3a85e5_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_3f97d9e8-c64e-46f5-97fb-db9e68a2507f_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_01e74062-704f-4376-b1aa-05bc20e0037c_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade accounts receivable, allowances</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWriteDown_b36217a3-830f-4db7-b2ae-11b7520cdcdc_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for slow-moving and obsolete inventories</link:label>
    <link:label id="lab_us-gaap_InventoryWriteDown_label_en-US" xlink:label="lab_us-gaap_InventoryWriteDown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Write-down</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryWriteDown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWriteDown" xlink:to="lab_us-gaap_InventoryWriteDown" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PreFundedWarrantsMember_d7e04192-9f41-4801-83c4-52a4b5392035_terseLabel_en-US" xlink:label="lab_efoi_PreFundedWarrantsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-Funded Warrants</link:label>
    <link:label id="lab_efoi_PreFundedWarrantsMember_label_en-US" xlink:label="lab_efoi_PreFundedWarrantsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-Funded Warrants [Member]</link:label>
    <link:label id="lab_efoi_PreFundedWarrantsMember_documentation_en-US" xlink:label="lab_efoi_PreFundedWarrantsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-Funded Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PreFundedWarrantsMember" xlink:to="lab_efoi_PreFundedWarrantsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RobotsMember_fe357f6b-b3d0-402e-bfc6-3dbc6de5df13_terseLabel_en-US" xlink:label="lab_efoi_RobotsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UV- Robots</link:label>
    <link:label id="lab_efoi_RobotsMember_label_en-US" xlink:label="lab_efoi_RobotsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Robots [Member]</link:label>
    <link:label id="lab_efoi_RobotsMember_documentation_en-US" xlink:label="lab_efoi_RobotsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Robots</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RobotsMember" xlink:href="efoi-20211231.xsd#efoi_RobotsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RobotsMember" xlink:to="lab_efoi_RobotsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_bf3c1325-2fe5-412b-be40-b19509cd7ff0_terseLabel_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_label_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_IcfrAuditorAttestationFlag" xlink:to="lab_dei_IcfrAuditorAttestationFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_394d3334-c235-4bbe-87cf-98a077726b36_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfDebt_a29c043b-a814-413e-b062-8ae04312ebd0_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from bridge financing</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfDebt_683e4c4f-1b0d-4307-86ab-adfb1dc7a096_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from issuance</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset_3ab9cd5d-b36b-4afa-b0f7-6d430e27967d_terseLabel_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured lease, right-of-use asset</link:label>
    <link:label id="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Operating Lease, Right-Of-Use Asset</link:label>
    <link:label id="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset_documentation_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Operating Lease, Right-Of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:to="lab_efoi_RestructuredOperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember_8f843ab9-1000-41f4-bdc8-a30fc4c00bb8_terseLabel_en-US" xlink:label="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">5 Elements Energy Efficiencies (BVI) Ltd.</link:label>
    <link:label id="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember_label_en-US" xlink:label="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">5 Elements Energy Efficiencies (BVI) Ltd. [Member]</link:label>
    <link:label id="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember_documentation_en-US" xlink:label="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">5 Elements Energy Efficiencies (BVI) Ltd.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:href="efoi-20211231.xsd#efoi_A5ElementsEnergyEfficienciesBVILtdMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:to="lab_efoi_A5ElementsEnergyEfficienciesBVILtdMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_OwnershipAxis_ab66c236-fc3b-4203-a5fc-56818023c8ad_terseLabel_en-US" xlink:label="lab_srt_OwnershipAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ownership [Axis]</link:label>
    <link:label id="lab_srt_OwnershipAxis_label_en-US" xlink:label="lab_srt_OwnershipAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ownership [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_OwnershipAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_OwnershipAxis" xlink:to="lab_srt_OwnershipAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LegalEntityAxis_54c00eee-a189-4e72-867e-eecb30847c11_terseLabel_en-US" xlink:label="lab_dei_LegalEntityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:label id="lab_dei_LegalEntityAxis_label_en-US" xlink:label="lab_dei_LegalEntityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LegalEntityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LegalEntityAxis" xlink:to="lab_dei_LegalEntityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorName_bfd9e90a-8626-4712-a6e5-5e728fea48a1_terseLabel_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:label id="lab_dei_AuditorName_label_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorName" xlink:to="lab_dei_AuditorName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_fea47e2a-ff40-4756-9f0d-cdb41bdd180f_terseLabel_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_label_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis" xlink:to="lab_us-gaap_StatementClassOfStockAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee_beac2619-6f47-466c-b25e-a56b5da1e53d_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum monthly fee</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Monthly Facility Fee</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Monthly Facility Fee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMonthlyFacilityFee"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:to="lab_efoi_LineOfCreditFacilityMonthlyFacilityFee" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2020EquityOfferingPrivatePlacementMember_2e666fda-3adf-458d-b57b-4bb1d9782c49_terseLabel_en-US" xlink:label="lab_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering, Private Placement</link:label>
    <link:label id="lab_efoi_January2020EquityOfferingPrivatePlacementMember_label_en-US" xlink:label="lab_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering, Private Placement [Member]</link:label>
    <link:label id="lab_efoi_January2020EquityOfferingPrivatePlacementMember_documentation_en-US" xlink:label="lab_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering, Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:to="lab_efoi_January2020EquityOfferingPrivatePlacementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_85256beb-9646-4379-9003-cbded4e16529_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_5a3d4707-a390-40fe-9928-bbba5a48619d_negatedLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less imputed interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_afc0c541-4e0d-4791-8fc1-5d0fa9ab29af_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2020InstitutionalInvestorMember_3bfe2c55-5845-49f0-b81b-69a007db3cb8_terseLabel_en-US" xlink:label="lab_efoi_January2020InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Institutional Investor</link:label>
    <link:label id="lab_efoi_January2020InstitutionalInvestorMember_label_en-US" xlink:label="lab_efoi_January2020InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Institutional Investor [Member]</link:label>
    <link:label id="lab_efoi_January2020InstitutionalInvestorMember_documentation_en-US" xlink:label="lab_efoi_January2020InstitutionalInvestorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Institutional Investor</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember" xlink:href="efoi-20211231.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2020InstitutionalInvestorMember" xlink:to="lab_efoi_January2020InstitutionalInvestorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_53484cb6-32fd-4265-9bb8-be11639790d4_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Ownership Plan (ESOP) Name [Axis]</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Ownership Plan (ESOP) Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:to="lab_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_WallStreetJournalHighestPrimeRateMember_dae1f0c4-b43f-4170-8618-d5ed8609dc63_terseLabel_en-US" xlink:label="lab_efoi_WallStreetJournalHighestPrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Wall Street Journal, highest prime rate</link:label>
    <link:label id="lab_efoi_WallStreetJournalHighestPrimeRateMember_label_en-US" xlink:label="lab_efoi_WallStreetJournalHighestPrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Wall Street Journal, Highest Prime Rate [Member]</link:label>
    <link:label id="lab_efoi_WallStreetJournalHighestPrimeRateMember_documentation_en-US" xlink:label="lab_efoi_WallStreetJournalHighestPrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Wall Street Journal, Highest Prime Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_WallStreetJournalHighestPrimeRateMember" xlink:href="efoi-20211231.xsd#efoi_WallStreetJournalHighestPrimeRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_WallStreetJournalHighestPrimeRateMember" xlink:to="lab_efoi_WallStreetJournalHighestPrimeRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_14dda0bf-7e8f-484a-9458-774806263809_terseLabel_en-US" xlink:label="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Leases</link:label>
    <link:label id="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_label_en-US" xlink:label="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Assets And Liabilities, Lessee [Abstract]</link:label>
    <link:label id="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_documentation_en-US" xlink:label="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Assets And Liabilities, Lessee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:href="efoi-20211231.xsd#efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:to="lab_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_487566a9-2140-4866-97a3-d18313cb9580_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_c7335892-90c5-40d3-97e3-5ada671f3bc7_totalLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total prepaid and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_97d7e0ea-cd60-4911-80a1-77ee5c0ba022_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_ee0255d3-6dae-4cea-8f08-033f845fa891_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive loss:</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityDomain_ec846ed4-4d55-4903-a286-bf9d842574f0_terseLabel_en-US" xlink:label="lab_dei_EntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity [Domain]</link:label>
    <link:label id="lab_dei_EntityDomain_label_en-US" xlink:label="lab_dei_EntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityDomain" xlink:to="lab_dei_EntityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_a8447a00-a972-42b8-a050-26a108ba8ecd_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general, and administrative</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_74c8d3ff-0cf8-41b5-9e1d-acb73f6d987f_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Contractual Life (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_826f46ae-bdd2-46b0-93bd-3917916ac409_negatedLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less imputed interest</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8477a69e-74ba-4912-ae8e-d98eeda71a43_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current:</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ExercisePriceRangeFourMember_8123eabf-967c-41a5-8ff3-9a6931a27a96_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeFourMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price, range four</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeFourMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeFourMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range Four [Member]</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeFourMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeFourMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The third exercise price range.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeFourMember" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeFourMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeFourMember" xlink:to="lab_efoi_ExercisePriceRangeFourMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_b89fec93-7459-4f24-b534-e56f95fa96ba_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock option</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember" xlink:to="lab_us-gaap_EmployeeStockOptionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LonglivedAssetsLocatedinUSPercent_da46ae5a-69eb-4887-8267-901a8b2398ff_terseLabel_en-US" xlink:label="lab_efoi_LonglivedAssetsLocatedinUSPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-lived assets located in US, percent</link:label>
    <link:label id="lab_efoi_LonglivedAssetsLocatedinUSPercent_label_en-US" xlink:label="lab_efoi_LonglivedAssetsLocatedinUSPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-lived Assets Located in US, Percent</link:label>
    <link:label id="lab_efoi_LonglivedAssetsLocatedinUSPercent_documentation_en-US" xlink:label="lab_efoi_LonglivedAssetsLocatedinUSPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-lived Assets Located in US, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LonglivedAssetsLocatedinUSPercent" xlink:href="efoi-20211231.xsd#efoi_LonglivedAssetsLocatedinUSPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LonglivedAssetsLocatedinUSPercent" xlink:to="lab_efoi_LonglivedAssetsLocatedinUSPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RestructuredOperatingLeaseLiability_a5a40a6e-ad33-479a-bba8-494bf11ce94e_terseLabel_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured lease liabilities</link:label>
    <link:label id="lab_efoi_RestructuredOperatingLeaseLiability_label_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Operating Lease, Liability</link:label>
    <link:label id="lab_efoi_RestructuredOperatingLeaseLiability_documentation_en-US" xlink:label="lab_efoi_RestructuredOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiability" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredOperatingLeaseLiability" xlink:to="lab_efoi_RestructuredOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_400fc7fb-f056-448e-b82d-3d65a24cf8eb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offering costs on issuance of common stock and warrants</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityAbstract_label_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_55b1e287-e5ae-47e6-b4e2-5c22dfeb5b9c_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRestructuring_bf8c6d64-3d9b-4dde-81ce-edb11fa480d2_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments</link:label>
    <link:label id="lab_us-gaap_PaymentsForRestructuring_label_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Restructuring</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRestructuring" xlink:to="lab_us-gaap_PaymentsForRestructuring" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_d1ac8924-0034-4d17-b9dd-70afc053f3ab_periodStartLabel_en-US" xlink:label="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance January 1, 2020</link:label>
    <link:label id="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_329f4789-b978-4261-886e-195021e6968f_periodEndLabel_en-US" xlink:label="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance December 31, 2020</link:label>
    <link:label id="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Deferred Compensation Arrangements, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:to="lab_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyPolicy_31705341-1735-4cfc-b5ec-9f8d22468023_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product warranties</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyPolicy_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyPolicy" xlink:to="lab_us-gaap_StandardProductWarrantyPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_GainLossFromEmployeeRetentionTaxCredit_992e57d4-af09-41b3-ac23-2f403108ce51_negatedTerseLabel_en-US" xlink:label="lab_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income - employee retention tax credit</link:label>
    <link:label id="lab_efoi_GainLossFromEmployeeRetentionTaxCredit_label_en-US" xlink:label="lab_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">(Gain) Loss From Employee Retention Tax Credit</link:label>
    <link:label id="lab_efoi_GainLossFromEmployeeRetentionTaxCredit_documentation_en-US" xlink:label="lab_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">(Gain) Loss From Employee Retention Tax Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:href="efoi-20211231.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:to="lab_efoi_GainLossFromEmployeeRetentionTaxCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueAdjustmentOfWarrants_9fb82c07-db52-4e20-b976-9421b4330a42_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAdjustmentOfWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from change in fair value of warrants</link:label>
    <link:label id="lab_us-gaap_FairValueAdjustmentOfWarrants_e242ddaf-4171-4891-a475-b28b103fa45a_verboseLabel_en-US" xlink:label="lab_us-gaap_FairValueAdjustmentOfWarrants" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in fair value of warrant liabilities</link:label>
    <link:label id="lab_us-gaap_FairValueAdjustmentOfWarrants_label_en-US" xlink:label="lab_us-gaap_FairValueAdjustmentOfWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Adjustment of Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAdjustmentOfWarrants" xlink:to="lab_us-gaap_FairValueAdjustmentOfWarrants" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_5857166d-ef35-493e-b645-c05b3f521d54_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:to="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_87c84b9c-75ed-4695-8f97-4aee3fa487a6_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_03ad7360-3944-431f-866b-3d3f5324296f_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_849da669-2fcd-40fd-9376-c9e9dc461238_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Geographic Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_ffc0c56a-556b-4230-933d-13c349718140_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease, weighted average remaining lease term</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_89d94a48-b835-4c04-80eb-0e9264bb94d6_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from operations</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_d9c3eea4-6f44-4d79-8a37-5158dad69678_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_8330e977-2430-4b30-af39-582532a4b422_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_GovernmentProductsMember_4c6aec13-5cce-4e1a-8b36-5a99142c0b07_terseLabel_en-US" xlink:label="lab_efoi_GovernmentProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MMM products</link:label>
    <link:label id="lab_efoi_GovernmentProductsMember_label_en-US" xlink:label="lab_efoi_GovernmentProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Government Products [Member]</link:label>
    <link:label id="lab_efoi_GovernmentProductsMember_documentation_en-US" xlink:label="lab_efoi_GovernmentProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Government Products segment.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GovernmentProductsMember" xlink:href="efoi-20211231.xsd#efoi_GovernmentProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_GovernmentProductsMember" xlink:to="lab_efoi_GovernmentProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_75bd2e69-da2b-49b9-959c-17222412de69_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_IliadNotePurchaseAgreementMember_845971ce-0417-4383-a2aa-da68d7492afb_terseLabel_en-US" xlink:label="lab_efoi_IliadNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Iliad Note</link:label>
    <link:label id="lab_efoi_IliadNotePurchaseAgreementMember_label_en-US" xlink:label="lab_efoi_IliadNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Iliad Note Purchase Agreement [Member]</link:label>
    <link:label id="lab_efoi_IliadNotePurchaseAgreementMember_documentation_en-US" xlink:label="lab_efoi_IliadNotePurchaseAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Iliad Note Purchase Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IliadNotePurchaseAgreementMember" xlink:href="efoi-20211231.xsd#efoi_IliadNotePurchaseAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_IliadNotePurchaseAgreementMember" xlink:to="lab_efoi_IliadNotePurchaseAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_148ef164-4dd9-4a3c-929f-ce8e767751d7_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_4b76a6c2-2b3a-46ef-a816-62396d0baf62_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_528860fc-ac39-48d0-a0e7-b020caa0d583_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_9bc17e02-7daf-459f-9351-8c8f4e3e17f7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateDomain_9cad8ba7-b784-48ae-8b7a-b0f49ccbdd0d_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_a716d392-9030-4c97-b82f-1bcbd1a8ddc3_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring</link:label>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:to="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_482f68b0-1b47-4a65-823f-3d3bbd131667_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_fac34391-0715-4264-acad-70181dd0f106_verboseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_13833696-995f-4987-bb2f-035b9a9a8616_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_fbbe948f-34aa-40d8-bc35-0b6b5e43b147_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfDebt_c52ad781-4bd2-4a79-ae58-06812f123d05_terseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of debt</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfDebt" xlink:to="lab_us-gaap_RepaymentsOfDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction_e1a1a317-dc94-441f-9b15-cf79f124aeee_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount invested</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transaction, Amounts of Transaction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:to="lab_us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_a558c727-e566-42f0-9c91-f4adc84a197b_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RestructuringReserveAccretion_d7f7c3ca-5c7b-4705-b275-a8625bc80ab1_terseLabel_en-US" xlink:label="lab_efoi_RestructuringReserveAccretion" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accretion of lease obligations</link:label>
    <link:label id="lab_efoi_RestructuringReserveAccretion_label_en-US" xlink:label="lab_efoi_RestructuringReserveAccretion" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve, Accretion</link:label>
    <link:label id="lab_efoi_RestructuringReserveAccretion_documentation_en-US" xlink:label="lab_efoi_RestructuringReserveAccretion" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve, Accretion</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuringReserveAccretion" xlink:href="efoi-20211231.xsd#efoi_RestructuringReserveAccretion"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuringReserveAccretion" xlink:to="lab_efoi_RestructuringReserveAccretion" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_16deb2f9-8658-45a5-a9fc-579e920d3293_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Classification of cash and restricted cash:</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract" xlink:to="lab_us-gaap_CashAndCashEquivalentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_4dea53cd-54ba-432f-ad7c-e6aa349a555b_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Next Rolling Twelve Months</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_1390c695-6583-4714-9c89-4cf4b8d4a0cf_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Warranty Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_43c17f2b-74ff-4eb4-8c9a-c6222016e45e_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued and other liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_60ae2282-8467-4ea6-ad54-336d43b4cc53_terseLabel_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of warrants issued (in shares)</link:label>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_label_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class Of Warrant Or Right, Warrants Issued</link:label>
    <link:label id="lab_efoi_ClassOfWarrantOrRightWarrantsIssued_documentation_en-US" xlink:label="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class Of Warrant Or Right, Warrants Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:to="lab_efoi_ClassOfWarrantOrRightWarrantsIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_f0dafa98-6adf-40b6-9b9d-e1937b3a1809_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stated interest rate on collateral management fee</link:label>
    <link:label id="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_label_en-US" xlink:label="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage, Collateral Management Fee</link:label>
    <link:label id="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage, Collateral Management Fee</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:to="lab_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaid_7d51eb0d-5a57-4474-8963-519fea0b2964_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid in year for income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaid_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaid" xlink:to="lab_us-gaap_IncomeTaxesPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_56dbba07-2827-47d5-8e46-8fcf48d51665_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Securities called by warrants (in shares)</link:label>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right, Number of Securities Called by Warrants or Rights</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:to="lab_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromLoanOriginations1_20722ecf-b713-40bf-8827-b7b4c40c5f2c_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLoanOriginations1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from loan origination</link:label>
    <link:label id="lab_us-gaap_ProceedsFromLoanOriginations1_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLoanOriginations1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Loan Originations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLoanOriginations1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLoanOriginations1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLoanOriginations1" xlink:to="lab_us-gaap_ProceedsFromLoanOriginations1" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_269a8001-08fa-4480-86a4-642a3b4a6481_terseLabel_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment terms</link:label>
    <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_label_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Payment Terms</link:label>
    <link:label id="lab_efoi_ContractWithCustomerPaymentTerms_documentation_en-US" xlink:label="lab_efoi_ContractWithCustomerPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Payment Terms</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ContractWithCustomerPaymentTerms" xlink:href="efoi-20211231.xsd#efoi_ContractWithCustomerPaymentTerms"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ContractWithCustomerPaymentTerms" xlink:to="lab_efoi_ContractWithCustomerPaymentTerms" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_7585856d-6c33-41e3-8295-e8ae31d8a2f5_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other expenses</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_A5ElementsGlobalAdvisorsMember_16e22eb2-2e23-471c-b1e3-de6117e60b62_terseLabel_en-US" xlink:label="lab_efoi_A5ElementsGlobalAdvisorsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">5 Elements Global Advisors</link:label>
    <link:label id="lab_efoi_A5ElementsGlobalAdvisorsMember_label_en-US" xlink:label="lab_efoi_A5ElementsGlobalAdvisorsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">5 Elements Global Advisors [Member]</link:label>
    <link:label id="lab_efoi_A5ElementsGlobalAdvisorsMember_documentation_en-US" xlink:label="lab_efoi_A5ElementsGlobalAdvisorsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">5 Elements Global Advisors [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A5ElementsGlobalAdvisorsMember" xlink:href="efoi-20211231.xsd#efoi_A5ElementsGlobalAdvisorsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A5ElementsGlobalAdvisorsMember" xlink:to="lab_efoi_A5ElementsGlobalAdvisorsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidInsurance_90006048-403b-40c7-969e-2ed43b9a090a_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidInsurance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid insurance</link:label>
    <link:label id="lab_us-gaap_PrepaidInsurance_label_en-US" xlink:label="lab_us-gaap_PrepaidInsurance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Insurance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidInsurance" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidInsurance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidInsurance" xlink:to="lab_us-gaap_PrepaidInsurance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_5765f049-6242-40a9-8ea3-f2a44291b98b_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisitions of property and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FacilityClosingMember_f5116e79-e832-49dc-ba6a-2908643f5f97_terseLabel_en-US" xlink:label="lab_us-gaap_FacilityClosingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Liability</link:label>
    <link:label id="lab_us-gaap_FacilityClosingMember_label_en-US" xlink:label="lab_us-gaap_FacilityClosingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Facility Closing [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FacilityClosingMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FacilityClosingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FacilityClosingMember" xlink:to="lab_us-gaap_FacilityClosingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_afef7497-6778-4208-aa77-216848fd26fb_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_2dcd8f08-66a3-4829-bd0e-e472c3619e2f_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Ownership Plan (ESOP), Plan [Domain]</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Stock Ownership Plan (ESOP), Plan [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:to="lab_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Liabilities_98d2946c-9fbb-4e04-8625-495f55f84398_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_label_en-US" xlink:label="lab_us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities" xlink:to="lab_us-gaap_Liabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts_06ed0c29-a396-40d9-a71c-312dbc3e9698_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment amount</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment for Debt Extinguishment or Debt Prepayment Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDebtExtinguishmentCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:to="lab_us-gaap_PaymentsOfDebtExtinguishmentCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_bf8683bf-3cf9-4929-96d3-51571d49e0f6_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_a312871b-d704-493a-996e-28c4f2e37b41_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_468f58a3-3326-4a94-9860-388103e65696_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_A13DGroupMember_769e9e27-662d-4536-9ffd-80cc07ed9121_terseLabel_en-US" xlink:label="lab_efoi_A13DGroupMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">13D Group</link:label>
    <link:label id="lab_efoi_A13DGroupMember_label_en-US" xlink:label="lab_efoi_A13DGroupMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">13D Group [Member]</link:label>
    <link:label id="lab_efoi_A13DGroupMember_documentation_en-US" xlink:label="lab_efoi_A13DGroupMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">13D Group [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A13DGroupMember" xlink:href="efoi-20211231.xsd#efoi_A13DGroupMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_A13DGroupMember" xlink:to="lab_efoi_A13DGroupMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_31302dea-df2e-40df-8ee1-1a966a5b9e7d_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expired (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_127d5db7-abdf-4c46-8c7a-4b6747e73288_terseLabel_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment</link:label>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_label_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-Of-Use Asset, Gross</link:label>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetGross_documentation_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-Of-Use Asset, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetGross" xlink:href="efoi-20211231.xsd#efoi_FinanceLeaseRightOfUseAssetGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FinanceLeaseRightOfUseAssetGross" xlink:to="lab_efoi_FinanceLeaseRightOfUseAssetGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_695279a4-7daa-495a-8db0-5f8d4fe8e9cf_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Future Maturities of Operating Lease Liabilities</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_8b16f55c-f5fc-4623-81b8-0acf389d3d92_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders' equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_6d54efa9-86b7-4602-9d1e-a5090b57acb3_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_fceb2bd3-2bd4-4867-9151-f34b14160859_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_3cb6053e-cc98-4379-bc50-d03af19b830b_verboseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest_d51fb497-9b02-4336-a680-a06ed664d4dc_terseLabel_en-US" xlink:label="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ownership interest</link:label>
    <link:label id="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest_label_en-US" xlink:label="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Limited Liability Company (LLC) or Limited Partnership (LP), Managing Member or General Partner, Ownership Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:to="lab_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_6a833a31-8e7c-47e5-b0f1-ba283a7ff01d_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating loss carry-forwards</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_6bf13ee7-05e6-4c4e-9a0c-6ea003e33508_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Supplies_0cd0bc02-1ad2-46ab-9d3a-b7567aefb876_terseLabel_en-US" xlink:label="lab_us-gaap_Supplies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Supplies</link:label>
    <link:label id="lab_us-gaap_Supplies_label_en-US" xlink:label="lab_us-gaap_Supplies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Supplies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Supplies" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Supplies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Supplies" xlink:to="lab_us-gaap_Supplies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_05fa5c56-4dea-4118-b921-2d718f41c0b4_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares issued</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_818fa58c-fb31-489e-994e-8dffd1835af3_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_2aabd6b1-f48f-4b51-9d93-556a9ff10834_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Settlements from exercise</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_6c8c7bdc-0e36-425f-9f38-e59dd74ae24e_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intrinsic value of options exercisable</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_82611e34-2bd5-4799-a300-5516a0db1ca9_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_4e0f7bfd-1584-469c-8ba2-729ed288d12e_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on extinguishment of debt</link:label>
    <link:label id="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt_label_en-US" xlink:label="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Extinguishment of Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:to="lab_us-gaap_GainsLossesOnExtinguishmentOfDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_4d2194c8-0d58-44f8-b772-9a68951ac47e_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from (payment on) credit line borrowings</link:label>
    <link:label id="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from (Repayments of) Lines of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:to="lab_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_8b7f7d8d-4d7b-41f7-b62a-0969b445b61b_terseLabel_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ERTC funds</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_c0666171-ff1c-4c53-bf9d-db5a9e0f0198_verboseLabel_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ERTC expected receivable</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_label_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_documentation_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:href="efoi-20211231.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:to="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_80fcdb70-b846-4e8d-8607-74ef2a30f26b_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, useful life</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_c7b52041-1e75-4b9b-a7e1-e43a0e98fd2e_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses and other reserves</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ProceedsFromPaycheckProtectionProgram_dfbb5408-c87c-466b-8324-b4764db9a0c1_terseLabel_en-US" xlink:label="lab_efoi_ProceedsFromPaycheckProtectionProgram" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from PPP loan</link:label>
    <link:label id="lab_efoi_ProceedsFromPaycheckProtectionProgram_label_en-US" xlink:label="lab_efoi_ProceedsFromPaycheckProtectionProgram" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds From Paycheck Protection Program</link:label>
    <link:label id="lab_efoi_ProceedsFromPaycheckProtectionProgram_documentation_en-US" xlink:label="lab_efoi_ProceedsFromPaycheckProtectionProgram" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds From Paycheck Protection Program</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromPaycheckProtectionProgram" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromPaycheckProtectionProgram"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ProceedsFromPaycheckProtectionProgram" xlink:to="lab_efoi_ProceedsFromPaycheckProtectionProgram" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_51152952-6333-4fcb-864e-c08bf9181c9c_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">STOCKHOLDERS&#8217; EQUITY</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NotesPayableCurrent_3b837376-4989-407e-9fc3-576a107865ce_terseLabel_en-US" xlink:label="lab_us-gaap_NotesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Streeterville note, net of discount and loan origination fees</link:label>
    <link:label id="lab_us-gaap_NotesPayableCurrent_label_en-US" xlink:label="lab_us-gaap_NotesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Notes Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NotesPayableCurrent" xlink:to="lab_us-gaap_NotesPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_13a42c75-0ea6-4cc7-b81c-62ffe5996741_terseLabel_en-US" xlink:label="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computer software</link:label>
    <link:label id="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_label_en-US" xlink:label="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software and Software Development Costs [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:to="lab_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_d15c7544-ee91-4979-850e-2d4ea8861515_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Certain risks and concentrations</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskCreditRisk_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskCreditRisk" xlink:to="lab_us-gaap_ConcentrationRiskCreditRisk" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants_2523acac-55b4-43b9-bd75-55bb42cf8644_terseLabel_en-US" xlink:label="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated proceeds from issuance of warrants</link:label>
    <link:label id="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants_label_en-US" xlink:label="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Proceeds From Issuance Of Warrants</link:label>
    <link:label id="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants_documentation_en-US" xlink:label="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated Proceeds From Issuance Of Warrants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:href="efoi-20211231.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:to="lab_efoi_EstimatedProceedsFromIssuanceOfWarrants" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_6fcf6805-a953-4316-a590-5e49a89e878a_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, net of current portion</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue_f62c7519-1e9b-474c-b0a3-c2996ca78b6a_totalLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total future undiscounted lease payments</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Payment, Due</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaymentProtectionProgramNoncurrent_40044f1b-529f-442f-91b5-efabeffd55aa_terseLabel_en-US" xlink:label="lab_efoi_PaymentProtectionProgramNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PPP loan, net of current maturities</link:label>
    <link:label id="lab_efoi_PaymentProtectionProgramNoncurrent_label_en-US" xlink:label="lab_efoi_PaymentProtectionProgramNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment Protection Program, Noncurrent</link:label>
    <link:label id="lab_efoi_PaymentProtectionProgramNoncurrent_documentation_en-US" xlink:label="lab_efoi_PaymentProtectionProgramNoncurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment Protection Program, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramNoncurrent" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentProtectionProgramNoncurrent" xlink:to="lab_efoi_PaymentProtectionProgramNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_ecbe9cbc-3fff-4915-8836-71beb2557f08_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_199d0093-1e17-40c0-a424-0090a25cada5_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent proceeds to be paid to Lender</link:label>
    <link:label id="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_label_en-US" xlink:label="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Proceeds To Be Paid To Lender, Percent</link:label>
    <link:label id="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Proceeds To Be Paid To Lender, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentProceedsToBePaidToLenderPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:to="lab_efoi_DebtInstrumentProceedsToBePaidToLenderPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_71168d99-5ff8-4104-9411-a49f6be26c68_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principal amount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFaceAmount" xlink:to="lab_us-gaap_DebtInstrumentFaceAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestExpense_73872e48-94cf-4ff7-a24f-7eafdd421993_terseLabel_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense</link:label>
    <link:label id="lab_us-gaap_InterestExpense_label_en-US" xlink:label="lab_us-gaap_InterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestExpense" xlink:to="lab_us-gaap_InterestExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_43681c92-6869-42b0-8ad9-57dfb826d78a_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred:</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_c2b6474a-ee2d-49e1-83f6-2533a9483ac1_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of net realizable value of eligible inventory</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Available Inventory, Net Realizable Value</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Available Inventory, Net Realizable Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:to="lab_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ExercisePriceRangeTwoMember_5b7de990-5cfe-48a3-b823-e4ade6018e11_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeTwoMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price, range two</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeTwoMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeTwoMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range Two [Member]</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeTwoMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeTwoMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The second exercise price range.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeTwoMember" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeTwoMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeTwoMember" xlink:to="lab_efoi_ExercisePriceRangeTwoMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharePrice_044788df-4bc6-4fe8-8247-59aa83aff875_terseLabel_en-US" xlink:label="lab_us-gaap_SharePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_SharePrice_label_en-US" xlink:label="lab_us-gaap_SharePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharePrice" xlink:to="lab_us-gaap_SharePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_0e49b105-b516-47f2-b3c5-dd6915e2c6de_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated deficit</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_7c0c6195-18ca-4ae5-91ad-95b8936d4222_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting periods</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_6fb9d79b-b35f-4ee9-9b8c-8e12bc6d5712_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs)</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_9aadf204-5539-43da-8e44-327195a26d46_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_72748f4e-eea8-4a08-a1b2-b6b722941ea4_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock under employee stock option and stock purchase plans (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_cf3f5146-dd6c-4103-b297-8d053c62ba57_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiability_e9dab3f6-8d60-4d1e-a290-2e6db0583f67_verboseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease liabilities</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiability_ce2144df-1e06-47b1-b64c-1430e9f34918_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease obligations</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiability_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiability" xlink:to="lab_us-gaap_FinanceLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_97fb07c9-5e56-4112-80db-4e9931e7657e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Risk-free interest rate</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_75f05962-e139-4691-9a53-d2f38009630e_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:to="lab_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_d9da1150-7e73-4b49-b914-80e096593e11_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_5bf9851b-c992-415e-8164-8ac5fe852829_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTable" xlink:to="lab_us-gaap_ConcentrationRiskTable" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentPrepaymentPremiumPercent_abf523ed-4821-4e88-8548-867cb842a831_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepayment premium</link:label>
    <link:label id="lab_efoi_DebtInstrumentPrepaymentPremiumPercent_label_en-US" xlink:label="lab_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Prepayment Premium, Percent</link:label>
    <link:label id="lab_efoi_DebtInstrumentPrepaymentPremiumPercent_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Prepayment Premium, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentPrepaymentPremiumPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:to="lab_efoi_DebtInstrumentPrepaymentPremiumPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_813e3103-07aa-42c1-8f0a-1c835b6e773a_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_9cd0bd59-8239-4722-b0fa-f54c970c987a_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_815f86d9-f301-4a51-9c56-c2c5bd32e26d_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Level 3 Fair Value Reconciliation</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_e3e39f49-2bef-4965-9b5c-5dd9ebadb23d_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deductions</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_FusionParkLLCMember_b9c3724e-6e9d-470f-a511-cebff8b90e25_terseLabel_en-US" xlink:label="lab_efoi_FusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fusion Park LLC</link:label>
    <link:label id="lab_efoi_FusionParkLLCMember_label_en-US" xlink:label="lab_efoi_FusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fusion Park LLC [Member]</link:label>
    <link:label id="lab_efoi_FusionParkLLCMember_documentation_en-US" xlink:label="lab_efoi_FusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fusion Park LLC</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FusionParkLLCMember" xlink:href="efoi-20211231.xsd#efoi_FusionParkLLCMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FusionParkLLCMember" xlink:to="lab_efoi_FusionParkLLCMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_800858e9-e999-4575-b66e-6442674e5cf5_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from exercise of stock options and purchases through employee stock purchase plan</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour_3af8245c-c093-4529-a050-ce25b2ea2c11_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Payments, Due in Rolling Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_caed4278-8dfa-4e05-801a-7a235b7b98a3_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:to="lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_0a6b2576-7ed1-4f20-9825-58d8a2826814_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canceled (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_0175f655-1736-4bc8-b625-27367e78f906_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Benefit from income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_a95dae88-f464-4efe-b289-e297fdc01f80_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">(Benefit from) provision for income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_1b4d4328-85df-406c-aa13-8aaffd622354_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade accounts receivable, less allowances of $14 and $8, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_d93d7e35-5993-4192-bcc5-14d4b5b197ae_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_325ae550-8e5c-40be-b63f-bdd175a8bd49_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to existing warranties</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="lab_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_0adbdd78-9467-4fe5-b376-6f99f74dff1a_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_476c39b7-e2d5-4b99-bb0a-dac20376170f_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_efe8c374-7183-4d3f-a265-fd4122203dee_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_d95b378a-6d64-4190-b83a-dfb671f9dd8a_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_cacb34eb-2a09-4ebf-993e-cff7a3fcce71_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_e6f7bad4-64bf-4069-8f8b-820642e64077_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total future undiscounted lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_d8535001-7f87-46a9-8a20-90f5a6e37667_negatedTerseLabel_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowances for depreciation</link:label>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_label_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-Of-Use Asset, Accumulated Depreciation</link:label>
    <link:label id="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_documentation_en-US" xlink:label="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-Of-Use Asset, Accumulated Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:href="efoi-20211231.xsd#efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:to="lab_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_595be4e8-e898-4cca-8d80-7cc7c752d9b1_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:to="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableMember_ed32959f-8b97-4217-ae90-1b2b95219479_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableMember_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableMember" xlink:to="lab_us-gaap_AccountsReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleOfStockNameOfTransactionDomain_51194dc3-0a5d-47a2-9835-69f09d7244e4_terseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_SaleOfStockNameOfTransactionDomain_label_en-US" xlink:label="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="lab_us-gaap_SaleOfStockNameOfTransactionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_05c2949d-70a8-4a69-9123-1be8a8f322cd_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Canceled (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_629d7c18-845b-43a0-9ced-71cf9c9d5a4b_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories, net</link:label>
    <link:label id="lab_us-gaap_InventoryNet_7e72d1a1-db8a-4765-b4ba-e1f32b48c458_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories, net</link:label>
    <link:label id="lab_us-gaap_InventoryNet_label_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RestructuredLeaseSubleaseIncome_c5d358b1-83e1-4cdb-b2b2-72ae769a2cb2_negatedTerseLabel_en-US" xlink:label="lab_efoi_RestructuredLeaseSubleaseIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sub-lease income</link:label>
    <link:label id="lab_efoi_RestructuredLeaseSubleaseIncome_label_en-US" xlink:label="lab_efoi_RestructuredLeaseSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Lease, Sublease Income</link:label>
    <link:label id="lab_efoi_RestructuredLeaseSubleaseIncome_documentation_en-US" xlink:label="lab_efoi_RestructuredLeaseSubleaseIncome" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructured Lease, Sublease Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseSubleaseIncome" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseSubleaseIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RestructuredLeaseSubleaseIncome" xlink:to="lab_efoi_RestructuredLeaseSubleaseIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_448f3fd3-bb23-4458-9a27-601896fa7d4b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable" xlink:to="lab_us-gaap_ScheduleOfStockByClassTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_19f7cb29-35f5-4271-8938-c9df71e5c95a_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued_80a664c2-93e2-4c9b-9dab-4ffdca2912cb_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warrant liability - issuance</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Additional Paid in Capital, Warrant Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_66ac84d2-8e19-4d42-a972-2b0485cb2a52_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Federal</link:label>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_6f5c3bee-ea59-4a7c-9e63-62909c80ffa7_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_030ffca0-4507-4dff-aa15-d20aba34f4c5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expired (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsAbstract_8e98a253-22dc-4e87-bb5e-47e5c648ff63_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]</link:label>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsAbstract_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsAbstract" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsAbstract" xlink:to="lab_srt_ValuationAndQualifyingAccountsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SecurityDeposit_c1d1c6fb-3666-4ee5-b854-4a822988007c_terseLabel_en-US" xlink:label="lab_us-gaap_SecurityDeposit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term deposits - non-inventory</link:label>
    <link:label id="lab_us-gaap_SecurityDeposit_label_en-US" xlink:label="lab_us-gaap_SecurityDeposit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Deposit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecurityDeposit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SecurityDeposit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SecurityDeposit" xlink:to="lab_us-gaap_SecurityDeposit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_2a4e8f16-1294-4b80-9ff1-01ef2ca190d6_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financial Instruments</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurement, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="lab_us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_801cc2fb-113a-46d2-897c-6e1355dc991f_totalLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total adjustments</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_b7131946-98d7-41b4-be23-6d3ee4d46a31_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_46e00273-52ab-4ce4-bcc7-d49a480688c9_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stockholders' Equity Note, Warrants or Rights</link:label>
    <link:label id="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stockholders' Equity Note, Warrants or Rights [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:to="lab_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_fa095d54-d5d4-4177-8518-099920aa339a_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_NonEmployeeDirectorMember_eaf7cb94-4004-4038-a767-5864db687a04_terseLabel_en-US" xlink:label="lab_efoi_NonEmployeeDirectorMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Employee Director</link:label>
    <link:label id="lab_efoi_NonEmployeeDirectorMember_label_en-US" xlink:label="lab_efoi_NonEmployeeDirectorMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Employee Director [Member]</link:label>
    <link:label id="lab_efoi_NonEmployeeDirectorMember_documentation_en-US" xlink:label="lab_efoi_NonEmployeeDirectorMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Employee Director</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NonEmployeeDirectorMember" xlink:href="efoi-20211231.xsd#efoi_NonEmployeeDirectorMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_NonEmployeeDirectorMember" xlink:to="lab_efoi_NonEmployeeDirectorMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByBalanceSheetGroupingTable_bf9f8866-72c1-4014-8a07-2ca2f257c165_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, by Balance Sheet Grouping [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueByBalanceSheetGroupingTable_label_en-US" xlink:label="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, by Balance Sheet Grouping [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:to="lab_us-gaap_FairValueByBalanceSheetGroupingTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_e026033e-5d70-4e31-a7f1-98451783ba7d_terseLabel_en-US" xlink:label="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income</link:label>
    <link:label id="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income and Other Expense Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:to="lab_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_f8d88613-e9aa-4fc1-b02e-7678c287c838_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityPublicFloat_bf9e03a9-66b0-4713-ad95-d4da2001b941_terseLabel_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:label id="lab_dei_EntityPublicFloat_label_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPublicFloat"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat" xlink:to="lab_dei_EntityPublicFloat" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_1c9e7030-a3bb-4938-9bf5-73dda529c5c0_terseLabel_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference</link:label>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_label_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_a05664e0-73d4-473c-966a-d56adb06beec_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net sales</link:label>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNetMember" xlink:to="lab_us-gaap_SalesRevenueNetMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_5e33cc0e-6742-4bb4-8f71-1e317d336273_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value of options issued (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_f8fc3c9c-216a-4703-b21f-b5b42ba587ce_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_7cde6fdb-f310-4479-9d94-15d54e0674af_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2d816522-239a-4661-a5d9-b7232a3b4066_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_c64b7e63-fbec-4606-a15b-063da3db2898_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares issued in the period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFinanceCostsGross_c1c22116-fccf-447b-8ff3-591d32061ab2_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt issuance costs</link:label>
    <link:label id="lab_us-gaap_DeferredFinanceCostsGross_label_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Issuance Costs, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsGross" xlink:to="lab_us-gaap_DeferredFinanceCostsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfDebtDiscountPremium_b913ab00-6089-404d-9b0e-0493383d48e9_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of loan discounts and origination fees</link:label>
    <link:label id="lab_us-gaap_AmortizationOfDebtDiscountPremium_label_en-US" xlink:label="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Debt Discount (Premium)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfDebtDiscountPremium" xlink:to="lab_us-gaap_AmortizationOfDebtDiscountPremium" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VehiclesMember_85fbe94c-a165-44f0-bf31-95b3a4a4eece_terseLabel_en-US" xlink:label="lab_us-gaap_VehiclesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vehicles</link:label>
    <link:label id="lab_us-gaap_VehiclesMember_label_en-US" xlink:label="lab_us-gaap_VehiclesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vehicles [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VehiclesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VehiclesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VehiclesMember" xlink:to="lab_us-gaap_VehiclesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_b6651d04-370e-4718-a564-65b3c02e27d0_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_374dc44f-80c9-486a-928a-c7f651bf2303_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_f173fd9f-5d39-4d84-857b-b4d59280cad3_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_29f58d5c-10e3-42d7-8839-1abcafafd48f_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e986ab94-842d-47db-930f-d471e559ab99_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_label_en-US" xlink:label="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:to="lab_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease_7162655c-e514-431b-b222-b1640e59e414_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock and warrants (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Period Increase (Decrease)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_5f4cdf99-99fa-4053-996d-975187da5ee3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price Per Share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_JamesTuThroughFusionParkLLCMember_1d7e9c94-3552-4c3a-b006-76734d488ff1_terseLabel_en-US" xlink:label="lab_efoi_JamesTuThroughFusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">James Tu Through Fusion Park LLC</link:label>
    <link:label id="lab_efoi_JamesTuThroughFusionParkLLCMember_label_en-US" xlink:label="lab_efoi_JamesTuThroughFusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">James Tu Through Fusion Park LLC [Member]</link:label>
    <link:label id="lab_efoi_JamesTuThroughFusionParkLLCMember_documentation_en-US" xlink:label="lab_efoi_JamesTuThroughFusionParkLLCMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">James Tu Through Fusion Park LLC [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_JamesTuThroughFusionParkLLCMember" xlink:href="efoi-20211231.xsd#efoi_JamesTuThroughFusionParkLLCMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_JamesTuThroughFusionParkLLCMember" xlink:to="lab_efoi_JamesTuThroughFusionParkLLCMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyLiabilityLineItems_e86a13e3-ad20-4289-a765-bb2146110b35_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Liability [Line Items]</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyLiabilityLineItems_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Liability [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="lab_us-gaap_ProductWarrantyLiabilityLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_f2ed7525-589d-46d6-9eee-8084f9067340_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of warrants, January 2020</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticCountryMember_f26601e7-3e96-4371-9ec0-6a3155d954b5_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Federal</link:label>
    <link:label id="lab_us-gaap_DomesticCountryMember_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_cff51ea1-8972-4bc0-a0b6-4ffed9e5baf8_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIABILITIES</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAbstract" xlink:to="lab_us-gaap_LiabilitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_13529237-0abb-490f-9c0c-c488bd5e0f19_terseLabel_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for warranties</link:label>
    <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_label_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Provision For Warranties</link:label>
    <link:label id="lab_efoi_IncreaseDecreaseInProvisionForWarranties_documentation_en-US" xlink:label="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Provision For Warranties</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:to="lab_efoi_IncreaseDecreaseInProvisionForWarranties" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_6cd54030-fb8b-4bbd-b146-cf538260293d_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RepurchaseAgreementCounterpartyNameDomain_b21933d9-36b5-4a1f-97d1-5a6a9b5472a6_terseLabel_en-US" xlink:label="lab_srt_RepurchaseAgreementCounterpartyNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Counterparty Name [Domain]</link:label>
    <link:label id="lab_srt_RepurchaseAgreementCounterpartyNameDomain_label_en-US" xlink:label="lab_srt_RepurchaseAgreementCounterpartyNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Counterparty Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RepurchaseAgreementCounterpartyNameDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="lab_srt_RepurchaseAgreementCounterpartyNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_8b167f44-a64e-40ed-8891-34d0fa721f9f_terseLabel_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage of number of votes that each share of preferred stock holders are entitled to</link:label>
    <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_label_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage of Series A Preferred Stock Eligible to Vote</link:label>
    <link:label id="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_documentation_en-US" xlink:label="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage of Series A Preferred Stock Eligible to Vote</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:href="efoi-20211231.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:to="lab_efoi_PercentageOfSeriesAPreferredStockEligibleToVote" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_31a05a6f-0455-46e4-b357-6faeec70a052_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityCurrent_2a92f633-7227-4268-951d-9313b710d848_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease liabilities</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="lab_us-gaap_FinanceLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_755bf100-57b7-4234-8e5e-52c133e0145a_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase price of common stock, percent</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_b5e86e6f-8768-4fa5-8315-1d6fe26f181d_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss from operations before income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_f08e8b01-f810-4caa-8084-8e0bfbb6d769_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_d3351858-ceee-48ba-88ef-bf1a8209e768_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets_0abeb3d1-ead2-44c5-9f4a-6d97840baad5_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term deposits</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Deposit Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInDepositOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorLocation_43b8e4dc-bb1a-4b4c-ae2b-18c866078eec_terseLabel_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:label id="lab_dei_AuditorLocation_label_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorLocation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorLocation" xlink:to="lab_dei_AuditorLocation" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryReserveRollForward_05aee517-4059-4d23-b9e0-caec0805bd59_terseLabel_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Reserve [Roll Forward]</link:label>
    <link:label id="lab_efoi_InventoryReserveRollForward_label_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Reserve [Roll Forward]</link:label>
    <link:label id="lab_efoi_InventoryReserveRollForward_documentation_en-US" xlink:label="lab_efoi_InventoryReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Reserve</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryReserveRollForward" xlink:href="efoi-20211231.xsd#efoi_InventoryReserveRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryReserveRollForward" xlink:to="lab_efoi_InventoryReserveRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_TotalExpendituresMember_a515567e-0136-405d-985e-41c437a5f6eb_terseLabel_en-US" xlink:label="lab_efoi_TotalExpendituresMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Expenditures</link:label>
    <link:label id="lab_efoi_TotalExpendituresMember_label_en-US" xlink:label="lab_efoi_TotalExpendituresMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Expenditures [Member]</link:label>
    <link:label id="lab_efoi_TotalExpendituresMember_documentation_en-US" xlink:label="lab_efoi_TotalExpendituresMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Expenditures</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TotalExpendituresMember" xlink:href="efoi-20211231.xsd#efoi_TotalExpendituresMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_TotalExpendituresMember" xlink:to="lab_efoi_TotalExpendituresMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_74b461a9-d9cc-48b6-9199-a9b527f5acd9_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TypeOfRestructuringDomain_88f7fed3-8755-47a0-9f24-509380cae9a2_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Type of Restructuring [Domain]</link:label>
    <link:label id="lab_us-gaap_TypeOfRestructuringDomain_label_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Type of Restructuring [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfRestructuringDomain" xlink:to="lab_us-gaap_TypeOfRestructuringDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MajorCustomersAxis_b27e28c2-85b6-4ec1-9f93-3039333c0424_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LinesOfCreditCurrent_e7c6315b-8eac-4ac7-9103-a76205020323_terseLabel_en-US" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit line borrowings, net of loan origination fees</link:label>
    <link:label id="lab_us-gaap_LinesOfCreditCurrent_label_en-US" xlink:label="lab_us-gaap_LinesOfCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LinesOfCreditCurrent" xlink:to="lab_us-gaap_LinesOfCreditCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityOverdraftFeePercent_b3ba9344-919e-489b-8c0b-caa4ceca8db4_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Overdraft fee</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityOverdraftFeePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Overdraft Fee, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityOverdraftFeePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Overdraft Fee, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityOverdraftFeePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:to="lab_efoi_LineOfCreditFacilityOverdraftFeePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_07fe6191-a257-4f9d-83a5-885bdc3a0032_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Cost and Reserve [Line Items]</link:label>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Cost and Reserve [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:to="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_571c3dd9-cb84-48bd-bc47-cb42a39fbc1c_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment Effects on Earnings Per Share [Table]</link:label>
    <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_label_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment Effects on Earnings Per Share [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:to="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_79dec13d-b13a-41f0-bafe-df36e289f136_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_958d1199-7e36-4c42-ae72-b5b759ad852a_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_a7defa36-dcac-419b-86ca-7fa9dcc99a10_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentAnnualReport_0639fb07-3c31-49fe-8c59-26934b496fe7_terseLabel_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:label id="lab_dei_DocumentAnnualReport_label_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAnnualReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentAnnualReport" xlink:to="lab_dei_DocumentAnnualReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_958ca995-21c5-4e40-be76-b856ff8af520_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Impact of Results of Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScenarioForecastMember_9f18f8ec-6096-493f-ac3e-b85c2310780c_terseLabel_en-US" xlink:label="lab_srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario, forecast</link:label>
    <link:label id="lab_srt_ScenarioForecastMember_label_en-US" xlink:label="lab_srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forecast [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioForecastMember" xlink:to="lab_srt_ScenarioForecastMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_d455e2fe-35d5-4e08-8b43-ab876c1cf083_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_c94c45f9-2ea3-43bb-bcd7-8e42c9e99946_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_EquityMethodInvesteeNameDomain_1ef4d966-fcbf-41eb-9ee6-25a2e13afe75_terseLabel_en-US" xlink:label="lab_srt_EquityMethodInvesteeNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment, Name [Domain]</link:label>
    <link:label id="lab_srt_EquityMethodInvesteeNameDomain_label_en-US" xlink:label="lab_srt_EquityMethodInvesteeNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_EquityMethodInvesteeNameDomain" xlink:to="lab_srt_EquityMethodInvesteeNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_0f99c4c5-a80d-436c-bf1a-51fd3b2981f8_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_f34940b7-37f0-41bd-9d5d-371fbee621e4_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_f89b7c33-dd7b-4679-a2b9-7872d4d845c2_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidNet_63bc9283-9c60-4ade-802c-dca19b5c7a2c_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid in year for interest</link:label>
    <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_SegmentGeographicalDomain_121b585a-9237-4d20-bf75-e9527a0883dc_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_srt_SegmentGeographicalDomain_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_7983e8d9-1cd1-41da-bab8-5cfce635525e_totalLabel_en-US" xlink:label="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, total</link:label>
    <link:label id="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_label_en-US" xlink:label="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Including Restructured Leases</link:label>
    <link:label id="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_documentation_en-US" xlink:label="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Including Restructured Leases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseLiabilityIncludingRestructuredLeases"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:to="lab_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_3460758a-5169-408c-b96d-81d43b32ac4d_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right to defer mandatory redemption, number of deferrals</link:label>
    <link:label id="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_label_en-US" xlink:label="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals</link:label>
    <link:label id="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:to="lab_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualAxis_7b031346-e38f-4af0-b722-2903be5d8eb7_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:label id="lab_srt_TitleOfIndividualAxis_label_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualAxis" xlink:to="lab_srt_TitleOfIndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfNotesPayable_2179c54e-3a2e-424b-a851-594bf6b3a4bb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfNotesPayable" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments on the Iliad Note</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfNotesPayable_01094c17-a7c8-447c-a214-e1a23dc50f7d_terseLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfNotesPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments on the Iliad Note</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfNotesPayable_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfNotesPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Notes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfNotesPayable" xlink:to="lab_us-gaap_RepaymentsOfNotesPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_6c5d63e2-9b7f-48f6-a4af-70f1e8b0b94f_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_b1e0a5a9-12d6-4c86-a1c9-1136c9405a97_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_49dfdf4a-02ab-4f45-85df-6b1e96afce48_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product development</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventory_c127e493-e4da-498e-b999-83302d27a8fc_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Eligible inventory</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventory_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Available Inventory</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAvailableInventory_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAvailableInventory" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Available Inventory</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableInventory" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableInventory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAvailableInventory" xlink:to="lab_efoi_LineOfCreditFacilityAvailableInventory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_d4bc5273-1585-4ebd-8d5a-90ced65e1b10_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stated interest rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_b99cd2e7-910c-42c5-9f7c-b51054263900_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_14e4b985-63f5-4a6d-85ec-26fe27ad64a3_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_602e6f1f-b496-4f61-96b3-2062615d3532_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_208585d8-9dab-4068-9e89-2d2a95739460_terseLabel_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warrant liability - modification</link:label>
    <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_7421e064-9d56-4e63-a6b4-976ec8caac3a_negatedTerseLabel_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warrant liability - modification</link:label>
    <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_label_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Additional Paid in Capital, Warrant Reclassified</link:label>
    <link:label id="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_documentation_en-US" xlink:label="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Additional Paid in Capital, Warrant Reclassified</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:href="efoi-20211231.xsd#efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:to="lab_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_188b2aac-47a5-4941-bb6d-1df381e3c7ce_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_8652ede8-3961-439b-b25b-ef7ac5e0ba82_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_8f57bd14-2ccb-4f0c-9bba-d8a11edfb401_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_f3aae7e7-b8d1-4f6b-b0c6-d74d811dab59_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowance for deferred tax assets</link:label>
    <link:label id="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_label_en-US" xlink:label="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:to="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_16840d23-304c-4479-a601-773da1d2e9b0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_53442ae3-0bb1-4d2e-8148-0c2d6fc98258_terseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and fixtures</link:label>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_label_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesMember" xlink:to="lab_us-gaap_FurnitureAndFixturesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTable_639c08d2-91b9-4bca-a727-b6e75db72cd8_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_e74853ed-2037-482d-8f5f-a2ae9395704e_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Lease Cost and Supplemental Cash Flow Information</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_ee23ba88-7f36-4a5c-baf1-bd73d491f48b_terseLabel_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">OPTIONS OUTSTANDING</link:label>
    <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_label_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Outstanding [Abstract]</link:label>
    <link:label id="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_documentation_en-US" xlink:label="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Outstanding [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:href="efoi-20211231.xsd#efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:to="lab_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_80ed917f-cb15-423c-a494-bf43962e49a8_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementGeographicalAxis_0c91bbc5-31c4-457b-9e57-2dfade38eceb_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_srt_StatementGeographicalAxis_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFeeAmount_8a491f23-1318-4961-8cf4-dbad65c4b10b_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFeeAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fee amount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentFeeAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFeeAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Fee Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFeeAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFeeAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFeeAmount" xlink:to="lab_us-gaap_DebtInstrumentFeeAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_9f0a08e0-81f4-4b14-92b6-22369765b6eb_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss per share, diluted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_7c8e9d0f-6709-4834-be91-6e32bc235a3a_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of accounts receivable used as borrowing capacity</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_de6553cc-1b60-4b15-8c39-35973ee9c387_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_72cb9152-08dd-40b5-be40-32e93873969a_terseLabel_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and Local</link:label>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_label_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and Local Jurisdiction [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:to="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleOfStockPricePerShare_2a82478b-9929-4a69-8cff-420448a73610_terseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockPricePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of common stock (USD per share)</link:label>
    <link:label id="lab_us-gaap_SaleOfStockPricePerShare_label_en-US" xlink:label="lab_us-gaap_SaleOfStockPricePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock, Price Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockPricePerShare" xlink:to="lab_us-gaap_SaleOfStockPricePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_TwoCustomersMember_00d314ef-578e-4273-af81-6c1d595a2ff9_terseLabel_en-US" xlink:label="lab_efoi_TwoCustomersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Customers</link:label>
    <link:label id="lab_efoi_TwoCustomersMember_label_en-US" xlink:label="lab_efoi_TwoCustomersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Customers [Member]</link:label>
    <link:label id="lab_efoi_TwoCustomersMember_documentation_en-US" xlink:label="lab_efoi_TwoCustomersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Customers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TwoCustomersMember" xlink:href="efoi-20211231.xsd#efoi_TwoCustomersMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_TwoCustomersMember" xlink:to="lab_efoi_TwoCustomersMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_01973679-5a1c-40c5-b89d-ad905e4f1af0_terseLabel_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount paid related to expenses for registered direct offering and concurrent private placement</link:label>
    <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_label_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</link:label>
    <link:label id="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_documentation_en-US" xlink:label="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:to="lab_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_275d9805-dc46-4c50-b93e-5cdab888bfff_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:to="lab_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_7f29b5d9-54ac-40a9-9189-1c0172390cc8_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring and Related Costs [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring and Related Costs [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_36393e78-30ea-46d9-a0d6-b54d7259d886_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive loss</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_QuarterlyFinancialInformationTextBlock_fcb7d181-8bf0-4eba-91b5-004c12f384ba_terseLabel_en-US" xlink:label="lab_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplementary Financial Information to Item 8.</link:label>
    <link:label id="lab_us-gaap_QuarterlyFinancialInformationTextBlock_label_en-US" xlink:label="lab_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quarterly Financial Information [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:to="lab_us-gaap_QuarterlyFinancialInformationTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveCurrent_f9235bef-daac-44b5-a5a8-7bb7698cf44f_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued restructuring</link:label>
    <link:label id="lab_us-gaap_RestructuringReserveCurrent_b6359a7e-405f-4d51-aee0-613cfe069793_verboseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less, short-term restructuring liability</link:label>
    <link:label id="lab_us-gaap_RestructuringReserveCurrent_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveCurrent" xlink:to="lab_us-gaap_RestructuringReserveCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_550d3b8e-a99d-4326-a96a-82fc5d4fa271_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ToolingMember_8d8ff9f2-98b4-4d44-b96a-8ea98cfa8b1d_terseLabel_en-US" xlink:label="lab_efoi_ToolingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tooling</link:label>
    <link:label id="lab_efoi_ToolingMember_label_en-US" xlink:label="lab_efoi_ToolingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tooling [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ToolingMember" xlink:href="efoi-20211231.xsd#efoi_ToolingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ToolingMember" xlink:to="lab_efoi_ToolingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionLineItems_9d17cf65-5166-42e7-bb0c-09c9c84eb164_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transaction [Line Items]</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionLineItems_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transaction [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems" xlink:to="lab_us-gaap_RelatedPartyTransactionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_0f5c432c-2c58-4d75-bed1-a54f7d001482_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vesting period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CommunalInternationalLtdMember_3c2b1800-b621-4810-a723-09eaa586a08f_terseLabel_en-US" xlink:label="lab_efoi_CommunalInternationalLtdMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Communal International Ltd.</link:label>
    <link:label id="lab_efoi_CommunalInternationalLtdMember_label_en-US" xlink:label="lab_efoi_CommunalInternationalLtdMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Communal International Ltd. [Member]</link:label>
    <link:label id="lab_efoi_CommunalInternationalLtdMember_documentation_en-US" xlink:label="lab_efoi_CommunalInternationalLtdMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Communal International Ltd.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommunalInternationalLtdMember" xlink:href="efoi-20211231.xsd#efoi_CommunalInternationalLtdMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CommunalInternationalLtdMember" xlink:to="lab_efoi_CommunalInternationalLtdMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_90247bc7-fc71-4f00-9a2e-cd885eb96fa5_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Conversion of convertible securities (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Conversion of Convertible Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentNumberOfCreditFacilities_5d875cca-c8b2-4053-b043-96e18fe31c7a_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of new credit facilities</link:label>
    <link:label id="lab_efoi_DebtInstrumentNumberOfCreditFacilities_label_en-US" xlink:label="lab_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Number Of Credit Facilities</link:label>
    <link:label id="lab_efoi_DebtInstrumentNumberOfCreditFacilities_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Number Of Credit Facilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentNumberOfCreditFacilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:to="lab_efoi_DebtInstrumentNumberOfCreditFacilities" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_UVCDProductsMember_c3fd3ae0-bfa8-4ec3-a194-6f2d700ee4ba_terseLabel_en-US" xlink:label="lab_efoi_UVCDProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UVCD Products</link:label>
    <link:label id="lab_efoi_UVCDProductsMember_label_en-US" xlink:label="lab_efoi_UVCDProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UVCD Products [Member]</link:label>
    <link:label id="lab_efoi_UVCDProductsMember_documentation_en-US" xlink:label="lab_efoi_UVCDProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UVCD Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_UVCDProductsMember" xlink:href="efoi-20211231.xsd#efoi_UVCDProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_UVCDProductsMember" xlink:to="lab_efoi_UVCDProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_d9e60cba-b2ed-4196-8c05-e0e713dc8595_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss, basic (in USD per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Basic Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_09280a29-8427-43ca-9fd0-d57f948e0f95_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Restricted Stock Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_38f44305-6cc2-4960-ab04-909dce90d0d1_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_8e9e621b-6688-4d93-be05-e5d863aef990_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Future Maturities of Finance Lease Liabilities</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Fiscal Year Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_960606c9-5847-45f0-8140-734a42da010b_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_d41dcdb7-b054-4f28-af1f-5b5d3239fe3a_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:to="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ShipbuilderForUSNavyMember_9532f74e-abdf-4b85-bdd6-9a0682ffd04d_terseLabel_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipbuilder For U.S. Navy</link:label>
    <link:label id="lab_efoi_ShipbuilderForUSNavyMember_label_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipbuilder For U.S. Navy [Member]</link:label>
    <link:label id="lab_efoi_ShipbuilderForUSNavyMember_documentation_en-US" xlink:label="lab_efoi_ShipbuilderForUSNavyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shipbuilder For U.S. Navy</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ShipbuilderForUSNavyMember" xlink:href="efoi-20211231.xsd#efoi_ShipbuilderForUSNavyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ShipbuilderForUSNavyMember" xlink:to="lab_efoi_ShipbuilderForUSNavyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_d9b1ba5a-2570-4877-81cc-cb1eb3e0be95_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment Effects on Earnings Per Share [Line Items]</link:label>
    <link:label id="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_label_en-US" xlink:label="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment Effects on Earnings Per Share [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="lab_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityAnnualFeePercent_c2a8329b-0d05-491f-891f-db5c50c4dba3_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual fee</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAnnualFeePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Annual Fee, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAnnualFeePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Annual Fee, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAnnualFeePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:to="lab_efoi_LineOfCreditFacilityAnnualFeePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_8bcdb027-78ef-4f30-b699-a23100fbd1a7_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_5dad6ed3-90f8-4265-b0ff-27b688c0ec54_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent_a5b77f3f-48d2-4abf-80d9-879e3da33c7f_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Collateral management fee</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Collateral Management Fee, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Collateral Management Fee, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityCollateralManagementFeePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:to="lab_efoi_LineOfCreditFacilityCollateralManagementFeePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConvertiblePreferredStockMember_aeaaf1c3-821b-43ca-ad7f-2d19a5ecb1b6_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertiblePreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Preferred Stock</link:label>
    <link:label id="lab_us-gaap_ConvertiblePreferredStockMember_label_en-US" xlink:label="lab_us-gaap_ConvertiblePreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Preferred Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertiblePreferredStockMember" xlink:to="lab_us-gaap_ConvertiblePreferredStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_05847bfd-3ae9-418b-b9e8-1348d5769890_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SupplierConcentrationRiskMember_a2f9f668-dccf-42af-8078-514d0c9c5809_terseLabel_en-US" xlink:label="lab_us-gaap_SupplierConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier Concentration Risk</link:label>
    <link:label id="lab_us-gaap_SupplierConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_SupplierConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplier Concentration Risk [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplierConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplierConcentrationRiskMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SupplierConcentrationRiskMember" xlink:to="lab_us-gaap_SupplierConcentrationRiskMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_e0a3cf76-af46-4367-863f-b6e342759249_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract_8f632671-359c-4c2a-8ffc-2dcc6b34bbad_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities [Abstract]</link:label>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_7bef7c64-331a-422b-a4c6-13893e097016_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ReceivablesFacilityMember_d0b8c01b-48d5-443a-a0e0-737831b40b71_terseLabel_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables Facility</link:label>
    <link:label id="lab_efoi_ReceivablesFacilityMember_label_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables Facility [Member]</link:label>
    <link:label id="lab_efoi_ReceivablesFacilityMember_documentation_en-US" xlink:label="lab_efoi_ReceivablesFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables Facility</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivablesFacilityMember" xlink:href="efoi-20211231.xsd#efoi_ReceivablesFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ReceivablesFacilityMember" xlink:to="lab_efoi_ReceivablesFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_62165c90-19fd-4a3d-9356-7548d79e89c6_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_6a01ff5f-0b6e-409b-bb80-15eb1c835c5b_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_d9803ae7-f28d-4fd2-b73f-3f0e3038ead9_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Quarterly Financial Data</link:label>
    <link:label id="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quarterly Financial Information [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_84e7cdff-eb2f-4e22-bfaa-8c72f113b5f5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Options</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_0b8102df-ba7e-4bc3-83dc-ece309d1b14b_negatedPeriodStartLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_86046c68-3c2a-4bef-98d2-640f301eb880_negatedPeriodEndLabel_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reserves for excess, obsolete, and slow-moving inventories</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_label_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Raw Materials</link:label>
    <link:label id="lab_efoi_InventoryValuationReservesRawMaterials_documentation_en-US" xlink:label="lab_efoi_InventoryValuationReservesRawMaterials" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves, Raw Materials</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesRawMaterials" xlink:href="efoi-20211231.xsd#efoi_InventoryValuationReservesRawMaterials"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_InventoryValuationReservesRawMaterials" xlink:to="lab_efoi_InventoryValuationReservesRawMaterials" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_cf44eeaf-9380-46ed-a57f-a84a4216b3ef_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State taxes (net of federal tax benefit)</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_35f541cb-e54c-43d2-9249-3d73301f290a_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCost_4e59916a-3e6f-4cfe-bec2-d7c7d2a9ea1e_totalLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease cost, net</link:label>
    <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_217f625e-e6c7-4258-857d-84bc0e215ac7_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_0fb817ce-0fc2-45fa-a8f5-66b75d009bad_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_4145bb6c-9ae2-4b18-ad44-9492ae34f552_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Range of Exercise Prices, upper limit (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_05e4be6d-f9e1-40f1-9a6f-36ef14f58ecf_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percentage increase if delisted from Nasdaq</link:label>
    <link:label id="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_label_en-US" xlink:label="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Percentage Increase If Delisted From Security Exchange</link:label>
    <link:label id="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Percentage Increase If Delisted From Security Exchange</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:to="lab_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherPrepaidExpenseCurrent_e30ac194-3197-4944-ab98-b2d7dfb65373_terseLabel_en-US" xlink:label="lab_us-gaap_OtherPrepaidExpenseCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses</link:label>
    <link:label id="lab_us-gaap_OtherPrepaidExpenseCurrent_label_en-US" xlink:label="lab_us-gaap_OtherPrepaidExpenseCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Prepaid Expense, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherPrepaidExpenseCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherPrepaidExpenseCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherPrepaidExpenseCurrent" xlink:to="lab_us-gaap_OtherPrepaidExpenseCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_ed9b717d-0f43-43d0-a859-150763cc8e37_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingExpenses_fc7a4c11-ec7f-42fb-bd6f-7547d8b36677_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total operating expenses</link:label>
    <link:label id="lab_us-gaap_OperatingExpenses_label_en-US" xlink:label="lab_us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Expenses</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingExpenses" xlink:to="lab_us-gaap_OperatingExpenses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree_36618719-b8de-4ac3-9f12-df06fc2b9692_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Payments, Due in Rolling Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:to="lab_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember_bbabdc3d-fed4-4f30-9df4-0c78e0e018d9_terseLabel_en-US" xlink:label="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Regional Commercial Lighting Retrofit Company</link:label>
    <link:label id="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember_label_en-US" xlink:label="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Regional Commercial Lighting Retrofit Company [Member]</link:label>
    <link:label id="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember_documentation_en-US" xlink:label="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Regional Commercial Lighting Retrofit Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:href="efoi-20211231.xsd#efoi_RegionalCommercialLightingRetrofitCompanyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:to="lab_efoi_RegionalCommercialLightingRetrofitCompanyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_December2021PrivatePlacementMember_b4f90505-e254-484f-a546-a061531e1c66_terseLabel_en-US" xlink:label="lab_efoi_December2021PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 2021 Private Placement</link:label>
    <link:label id="lab_efoi_December2021PrivatePlacementMember_label_en-US" xlink:label="lab_efoi_December2021PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 2021 Private Placement [Member]</link:label>
    <link:label id="lab_efoi_December2021PrivatePlacementMember_documentation_en-US" xlink:label="lab_efoi_December2021PrivatePlacementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">December 2021 Private Placement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_December2021PrivatePlacementMember" xlink:to="lab_efoi_December2021PrivatePlacementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_AustinCreditFacilityMember_fff7dabf-fbe9-4858-9afc-9492946b4ec5_terseLabel_en-US" xlink:label="lab_efoi_AustinCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Austin Credit Facility</link:label>
    <link:label id="lab_efoi_AustinCreditFacilityMember_label_en-US" xlink:label="lab_efoi_AustinCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Austin Credit Facility [Member]</link:label>
    <link:label id="lab_efoi_AustinCreditFacilityMember_documentation_en-US" xlink:label="lab_efoi_AustinCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Austin Credit Facility</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinCreditFacilityMember" xlink:href="efoi-20211231.xsd#efoi_AustinCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AustinCreditFacilityMember" xlink:to="lab_efoi_AustinCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_3863f8ca-02d4-4b32-a966-dfd4360100bf_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_b4802a31-d025-4398-bf86-a1a9cf40e76f_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_fd7e3d8a-1eaa-4ba7-ba0f-89e23a3c10e4_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_9c5ad8a8-ff4d-4459-8d77-84e544b5b7f8_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaymentsForClearingFees_ce672248-e52d-4248-8799-749bba799f14_terseLabel_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amount paid for clearing fees</link:label>
    <link:label id="lab_efoi_PaymentsForClearingFees_label_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Clearing Fees</link:label>
    <link:label id="lab_efoi_PaymentsForClearingFees_documentation_en-US" xlink:label="lab_efoi_PaymentsForClearingFees" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments For Clearing Fees</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentsForClearingFees" xlink:to="lab_efoi_PaymentsForClearingFees" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableMember_79e47e09-a04b-42db-8e27-9bd0f5492ce2_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableMember_label_en-US" xlink:label="lab_us-gaap_AccountsPayableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableMember" xlink:to="lab_us-gaap_AccountsPayableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_AccumulatedInterestOnSubordinatedDebt_3f29c330-5dfa-4b42-ab04-c710b13971c9_terseLabel_en-US" xlink:label="lab_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated interest</link:label>
    <link:label id="lab_efoi_AccumulatedInterestOnSubordinatedDebt_label_en-US" xlink:label="lab_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Interest on Subordinated Debt</link:label>
    <link:label id="lab_efoi_AccumulatedInterestOnSubordinatedDebt_documentation_en-US" xlink:label="lab_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Interest on Subordinated Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:href="efoi-20211231.xsd#efoi_AccumulatedInterestOnSubordinatedDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:to="lab_efoi_AccumulatedInterestOnSubordinatedDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_bb435a53-2ebd-4ba4-9f8f-17c554155f32_terseLabel_en-US" xlink:label="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To U.S. Navy Combined With Sales To Shipbuilders</link:label>
    <link:label id="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_label_en-US" xlink:label="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To U.S. Navy Combined With Sales To Shipbuilders [Member]</link:label>
    <link:label id="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_documentation_en-US" xlink:label="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To U.S. Navy Combined With Sales To Shipbuilders</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:href="efoi-20211231.xsd#efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:to="lab_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_d628e147-2989-4f3f-96cc-c69f25d4927b_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment at cost</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_25d5a553-c512-4f0b-9993-9289afc1d940_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Revenues_3b9e63bf-0b02-456e-9a63-1a3e29331e85_terseLabel_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net sales</link:label>
    <link:label id="lab_us-gaap_Revenues_60d487b5-f33d-47e4-bce7-994fb013457d_verboseLabel_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net sales</link:label>
    <link:label id="lab_us-gaap_Revenues_label_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Revenues" xlink:to="lab_us-gaap_Revenues" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock_9e172fbc-8318-4371-b60e-16f496038485_terseLabel_en-US" xlink:label="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-lived assets</link:label>
    <link:label id="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long Lived Assets Policy [Policy Text Block]</link:label>
    <link:label id="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock_documentation_en-US" xlink:label="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disclosure of accounting policy for property, plant and equipment as well as goodwill and intangible assets, which may include the basis of such assets, depreciation methods used and estimated useful lives, the entity's capitalization policy, including its accounting treatment for costs incurred for repairs and maintenance activities, whether such asset balances include capitalized interest and the method by which such is calculated, how disposals of such assets are accounted for and how impairment of such assets is assessed and recognized.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:href="efoi-20211231.xsd#efoi_LongLivedAssetsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:to="lab_efoi_LongLivedAssetsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquipmentMember_87144141-e538-451b-9b30-b2dfce6cda8b_terseLabel_en-US" xlink:label="lab_us-gaap_EquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equipment</link:label>
    <link:label id="lab_us-gaap_EquipmentMember_label_en-US" xlink:label="lab_us-gaap_EquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquipmentMember" xlink:to="lab_us-gaap_EquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_6b8acb95-f2e7-4c29-b2a8-ca1043ccfe4e_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price of warrants (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right, Exercise Price of Warrants or Rights</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:to="lab_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedPremium_5c80c059-a831-4cad-a8b8-fb72e0ba8936_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedPremium" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Original issue discount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedPremium_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedPremium" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Unamortized Premium</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedPremium" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedPremium"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedPremium" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedPremium" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_004723c3-e5cc-4a20-91f5-e9f931493b4c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested and expected to vest (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PaymentProtectionProgramCurrent_df2bb429-cea4-48c8-943f-db8e6fcdd3e1_terseLabel_en-US" xlink:label="lab_efoi_PaymentProtectionProgramCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">PPP loan</link:label>
    <link:label id="lab_efoi_PaymentProtectionProgramCurrent_label_en-US" xlink:label="lab_efoi_PaymentProtectionProgramCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment Protection Program, Current</link:label>
    <link:label id="lab_efoi_PaymentProtectionProgramCurrent_documentation_en-US" xlink:label="lab_efoi_PaymentProtectionProgramCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment Protection Program, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramCurrent" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PaymentProtectionProgramCurrent" xlink:to="lab_efoi_PaymentProtectionProgramCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryFinishedGoods_2c3eee5e-af71-41fb-929c-802b96cc0865_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoods_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Finished Goods, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoods" xlink:to="lab_us-gaap_InventoryFinishedGoods" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4ea15151-f978-424d-b46d-de44a44ff94e_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at beginning of period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_512d88d7-0593-4a59-9503-fba352d6cc63_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding at end of period (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WarrantMember_903a6d88-f848-4cf4-a748-12de0cff1caa_terseLabel_en-US" xlink:label="lab_us-gaap_WarrantMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Warrants</link:label>
    <link:label id="lab_us-gaap_WarrantMember_label_en-US" xlink:label="lab_us-gaap_WarrantMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Warrant [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WarrantMember" xlink:to="lab_us-gaap_WarrantMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_ccd684a9-638b-4021-b954-8eda9c71c662_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Related Party Transactions, by Related Party [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Related Party Transactions, by Related Party [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="lab_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_4470b4a5-143d-4117-8d34-b562dbdc5991_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_68af4615-f372-47f0-849b-ac43c3d52530_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stock-based compensation</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_081cd8f7-98da-417b-b0fd-a3054afbdd59_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Contractual Life (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_04c77ea6-39ef-4dff-a616-4bccfa03024a_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_7cf9f4e3-f1db-4138-af3f-3cf6e8b5f17b_verboseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net loss per common share - basic and diluted:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_6ff881e5-a550-45c7-ba59-1609da5a40a8_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic and Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_b744a769-c6e9-41b9-a13a-9612e0ac0d79_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_986a7ef7-d8c4-4edb-998f-c8f1d2ae3bc3_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective income tax rate reconciliation</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_8c3dfbab-fe36-47a6-a0da-247a39ca939e_terseLabel_en-US" xlink:label="lab_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock issued upon preferred stock conversion (in shares)</link:label>
    <link:label id="lab_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_label_en-US" xlink:label="lab_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Convertible Preferred Stock, Shares Issued upon Conversion</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:to="lab_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityMinimumRequirement_827f375b-c06e-4ace-9af6-5db974befe5c_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum borrowing requirement</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityMinimumRequirement_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Minimum Requirement</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityMinimumRequirement_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityMinimumRequirement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Minimum Requirement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMinimumRequirement" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMinimumRequirement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityMinimumRequirement" xlink:to="lab_efoi_LineOfCreditFacilityMinimumRequirement" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_OffshoreSupplierMember_8ebf5022-318b-4f52-800b-d1aec366fa14_terseLabel_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offshore Supplier</link:label>
    <link:label id="lab_efoi_OffshoreSupplierMember_label_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offshore Supplier [Member]</link:label>
    <link:label id="lab_efoi_OffshoreSupplierMember_documentation_en-US" xlink:label="lab_efoi_OffshoreSupplierMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Offshore Supplier</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OffshoreSupplierMember" xlink:href="efoi-20211231.xsd#efoi_OffshoreSupplierMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_OffshoreSupplierMember" xlink:to="lab_efoi_OffshoreSupplierMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_CounterpartyNameAxis_c35454a2-d1aa-4733-8e9f-5a8153357a9b_terseLabel_en-US" xlink:label="lab_srt_CounterpartyNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Counterparty Name [Axis]</link:label>
    <link:label id="lab_srt_CounterpartyNameAxis_label_en-US" xlink:label="lab_srt_CounterpartyNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Counterparty Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CounterpartyNameAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_CounterpartyNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CounterpartyNameAxis" xlink:to="lab_srt_CounterpartyNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryValuationReserves_2e1a7467-30bb-4504-8e03-d493e04fcce1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reserve for excess, obsolete, and slow-moving inventories</link:label>
    <link:label id="lab_us-gaap_InventoryValuationReserves_label_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryValuationReserves" xlink:to="lab_us-gaap_InventoryValuationReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConstructionInProgressMember_91c2a01e-7f89-4d38-bad8-068cb9380a76_terseLabel_en-US" xlink:label="lab_us-gaap_ConstructionInProgressMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Construction in progress</link:label>
    <link:label id="lab_us-gaap_ConstructionInProgressMember_label_en-US" xlink:label="lab_us-gaap_ConstructionInProgressMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConstructionInProgressMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConstructionInProgressMember" xlink:to="lab_us-gaap_ConstructionInProgressMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightAxis_e23c73e3-86fd-48eb-a77e-ee7ea7e7092d_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right [Axis]</link:label>
    <link:label id="lab_us-gaap_ClassOfWarrantOrRightAxis_label_en-US" xlink:label="lab_us-gaap_ClassOfWarrantOrRightAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Warrant or Right [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis" xlink:to="lab_us-gaap_ClassOfWarrantOrRightAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_97aef5d2-084c-44f5-9645-3317aee4409b_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss on dispositions of property and equipment</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Disposition of Property Plant Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="lab_us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_ab8d0255-9a4d-42ec-8b16-a079dac9c080_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and restricted cash, beginning of year</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_3b60b685-51a4-4e81-bc9f-28a61b5ef19c_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and restricted cash, end of year</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_4aef8d7c-21d2-4529-8a18-6685c3df64a9_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and restricted cash</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_d89a8f38-8e74-4027-b6de-c2300d13847e_terseLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_country_US_78388be6-8ede-4d2a-a6fa-6da0bfadbfe5_terseLabel_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">United States</link:label>
    <link:label id="lab_country_US_label_en-US" xlink:label="lab_country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">UNITED STATES</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_country_US" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US" xlink:to="lab_country_US" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_28f58cb6-eb44-42a9-861e-e48e008fba88_terseLabel_en-US" xlink:label="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_label_en-US" xlink:label="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of Stock, Number of Shares Issued in Transaction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:to="lab_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_ce731ad2-6a83-4523-9583-d8f0b6aec6a5_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_6280d170-2c66-4915-a0aa-1b547b7d669c_terseLabel_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information Related To Leases</link:label>
    <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_label_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Supplemental Cash Flow Information Related To Leases [Table Text Block]</link:label>
    <link:label id="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_documentation_en-US" xlink:label="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">[Table Text Block] for Supplemental Cash Flow Information Related To Leases [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:href="efoi-20211231.xsd#efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:to="lab_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_255de81e-83e3-4f39-9724-f24938d8f3bb_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_386ef94e-3d93-46b2-a52f-af46a4a75dab_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_5aba6acf-7183-4ff6-9a0a-e250562b6dbf_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember_b2ebd2b8-7984-4193-b92f-edb9e6daf36a_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption, Period One</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption, Period One [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_d85c80c8-75ba-4d4e-9dfd-42f2bc8b683c_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_3c063235-da81-4ad7-97e3-880cad5b12bd_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_a72f73ec-78b8-46df-a60c-d86eedb39987_terseLabel_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR)</link:label>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_label_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredRevenueCurrent_02051d93-e899-4fa9-889f-07fa39e4a48d_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueCurrent_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredRevenueCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueCurrent" xlink:to="lab_us-gaap_DeferredRevenueCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_5aa4fc48-3f30-4c6f-a6cd-3488e9c224ee_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual facility period</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Annual Facility Fee, Period</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility, Annual Facility Fee, Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAnnualFacilityFeePeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:to="lab_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_Plan2020Member_f7ae788a-23fa-4e47-9ac7-d9140160a603_terseLabel_en-US" xlink:label="lab_efoi_Plan2020Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2020 Plan</link:label>
    <link:label id="lab_efoi_Plan2020Member_label_en-US" xlink:label="lab_efoi_Plan2020Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan 2020 [Member]</link:label>
    <link:label id="lab_efoi_Plan2020Member_documentation_en-US" xlink:label="lab_efoi_Plan2020Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan 2020</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2020Member" xlink:href="efoi-20211231.xsd#efoi_Plan2020Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_Plan2020Member" xlink:to="lab_efoi_Plan2020Member" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_5372dc30-f7ab-429e-8f48-21d6544349bf_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_89efd4fe-148c-4ac6-999f-a2a9b3814069_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_9d7713b5-055a-4f6b-b83b-f531cd4c4e66_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_97ed873e-7c85-4fcf-881e-903b57402e22_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_0b2562f7-45c1-4416-a7fb-72c825f13038_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_19bac9c9-4579-4f4f-8d5f-9ccae85fa388_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_c3ce9f6c-581f-4993-83ba-98e87724b07f_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Recurring [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_d8ffa1ec-7da2-48b5-93d0-a7516080277c_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyDomain_37b33687-3ca1-4acd-955a-f89ae396d5bd_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party [Domain]</link:label>
    <link:label id="lab_us-gaap_RelatedPartyDomain_label_en-US" xlink:label="lab_us-gaap_RelatedPartyDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyDomain" xlink:to="lab_us-gaap_RelatedPartyDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_b2655de0-7215-4477-b03e-06696b26e0eb_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_389dd3b9-0302-4c67-93b5-bd42cdc164f9_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_YehMeiChengMember_ccae7182-e222-4234-98f5-0fa12209d4ce_terseLabel_en-US" xlink:label="lab_efoi_YehMeiChengMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Yeh-Mei Cheng</link:label>
    <link:label id="lab_efoi_YehMeiChengMember_label_en-US" xlink:label="lab_efoi_YehMeiChengMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Yeh Mei Cheng [Member]</link:label>
    <link:label id="lab_efoi_YehMeiChengMember_documentation_en-US" xlink:label="lab_efoi_YehMeiChengMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Yeh-Mei Cheng</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_YehMeiChengMember" xlink:href="efoi-20211231.xsd#efoi_YehMeiChengMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_YehMeiChengMember" xlink:to="lab_efoi_YehMeiChengMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_80c39094-3f72-4a78-9293-e97654f295ec_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_61f52440-c4df-447b-b284-17a1c40f14a0_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory costs</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_5e6b5b4f-f386-4363-8035-0323335884c1_terseLabel_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Supplemental Balance Sheet Information</link:label>
    <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_label_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Supplemental Balance Sheet Information [Table Text Block]</link:label>
    <link:label id="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_documentation_en-US" xlink:label="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Supplemental Balance Sheet Information [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:href="efoi-20211231.xsd#efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:to="lab_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherCurrentAssetsTextBlock_4df9c961-7ea6-4aff-a2f0-0e0a05998401_terseLabel_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid and Other Current Assets</link:label>
    <link:label id="lab_us-gaap_OtherCurrentAssetsTextBlock_label_en-US" xlink:label="lab_us-gaap_OtherCurrentAssetsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Current Assets [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCurrentAssetsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherCurrentAssetsTextBlock" xlink:to="lab_us-gaap_OtherCurrentAssetsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_949c3239-661c-4b99-a20f-0d268b6c0b63_terseLabel_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from sale of common stock and warrants</link:label>
    <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_label_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</link:label>
    <link:label id="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_documentation_en-US" xlink:label="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:to="lab_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_2d391795-d044-44b4-bd34-2c0ca2cb194f_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_6fffe7b0-5011-4caf-86b2-93b670fab57b_terseLabel_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other expenses:</link:label>
    <link:label id="lab_us-gaap_NonoperatingIncomeExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nonoperating Income (Expense) [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="lab_us-gaap_NonoperatingIncomeExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorFirmId_430def72-66e1-45d5-bd54-9e64ba1b08a5_terseLabel_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:label id="lab_dei_AuditorFirmId_label_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorFirmId"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorFirmId" xlink:to="lab_dei_AuditorFirmId" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseDiscountRate_e567d323-c7e7-4174-b76c-a85cd9343e22_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, discount rate</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseDiscountRate_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Discount Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseDiscountRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:to="lab_us-gaap_LesseeOperatingLeaseDiscountRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockLineItems_1fb155a6-b893-451f-b7a3-7718385bafa7_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockLineItems_label_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockLineItems" xlink:to="lab_us-gaap_ClassOfStockLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PurchaseObligation_9b56cfeb-ac64-48aa-931d-54197d78ccb8_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding purchase commitment</link:label>
    <link:label id="lab_us-gaap_PurchaseObligation_label_en-US" xlink:label="lab_us-gaap_PurchaseObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PurchaseObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseObligation" xlink:to="lab_us-gaap_PurchaseObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_a860145b-07b7-4383-8be1-e75162852642_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_d6449d92-0600-4862-9128-a5c6f8dd4f91_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveNoncurrent_152b2983-1eb7-4ba2-8a8e-01ea6b5e7c8d_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term restructuring liability, included in other liabilities</link:label>
    <link:label id="lab_us-gaap_RestructuringReserveNoncurrent_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveNoncurrent" xlink:to="lab_us-gaap_RestructuringReserveNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_09fdbcc1-efa1-4c5e-b60d-28efe5eb68ed_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine2_db147129-c4a3-4000-8634-1b478c341a56_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine2_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine2" xlink:to="lab_dei_EntityAddressAddressLine2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_4f8dd0e3-1f50-4019-b3f2-c7f3787877fa_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Change in operating assets and liabilities:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_303d5a16-4642-4e18-9d98-ac39fd11deef_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of common stock under employee stock option and stock purchase plans</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Employee Stock Purchase Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_bd3d8590-cf5b-4852-81a4-cb086ae6f4d7_terseLabel_en-US" xlink:label="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ownership in reporting entity by related party</link:label>
    <link:label id="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_label_en-US" xlink:label="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transactions, Ownership in Reporting Entity by Related Party</link:label>
    <link:label id="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_documentation_en-US" xlink:label="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transactions, Ownership in Reporting Entity by Related Party</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:href="efoi-20211231.xsd#efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:to="lab_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct_4cb02030-4f35-4070-96ee-a13362bdf820_terseLabel_en-US" xlink:label="lab_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred payroll taxes, CARES Act</link:label>
    <link:label id="lab_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct_label_en-US" xlink:label="lab_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employer Deferred Payroll Taxes, Liability, CARES Act</link:label>
    <link:label id="lab_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct_documentation_en-US" xlink:label="lab_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employer Deferred Payroll Taxes, Liability, CARES Act</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct" xlink:href="efoi-20211231.xsd#efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct" xlink:to="lab_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_8a9bbf41-11ce-478d-a471-96013f025a7d_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Prepaid and Other Current Assets</link:label>
    <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_cfb6d606-069a-4188-9ad2-0e393670e59e_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_e5381964-ccda-4e9e-a641-d3411b1fc6f2_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax credits, deferred R&amp;D, and other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, in Process Research and Development</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_68b3307f-116f-4071-81a4-dc0cda775ac9_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_CreditFacilitiesMember_8fe37687-9460-4cf2-b998-677882e18fa5_terseLabel_en-US" xlink:label="lab_efoi_CreditFacilitiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facilities</link:label>
    <link:label id="lab_efoi_CreditFacilitiesMember_label_en-US" xlink:label="lab_efoi_CreditFacilitiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facilities [Member]</link:label>
    <link:label id="lab_efoi_CreditFacilitiesMember_documentation_en-US" xlink:label="lab_efoi_CreditFacilitiesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CreditFacilitiesMember" xlink:href="efoi-20211231.xsd#efoi_CreditFacilitiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_CreditFacilitiesMember" xlink:to="lab_efoi_CreditFacilitiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_4926028e-e775-4188-b358-c1c7ccb594e1_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_4febf85f-3d1f-496f-848d-0491e72a2c28_terseLabel_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ERTC refund</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_label_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payroll Tax Credit, Employee Retention Credit Under The CARES Act</link:label>
    <link:label id="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_documentation_en-US" xlink:label="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payroll Tax Credit, Employee Retention Credit Under The CARES Act</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:href="efoi-20211231.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:to="lab_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_AustinFacilityMember_e70016cf-032f-4d6d-b27c-f6548aad54c9_terseLabel_en-US" xlink:label="lab_efoi_AustinFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Austin Facility</link:label>
    <link:label id="lab_efoi_AustinFacilityMember_label_en-US" xlink:label="lab_efoi_AustinFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Austin Facility [Member]</link:label>
    <link:label id="lab_efoi_AustinFacilityMember_documentation_en-US" xlink:label="lab_efoi_AustinFacilityMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Austin Facility</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinFacilityMember" xlink:href="efoi-20211231.xsd#efoi_AustinFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_AustinFacilityMember" xlink:to="lab_efoi_AustinFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_d3e7f446-d4f6-4cfd-af27-4c8cc4724124_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected life of option (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_fac6c7a1-afac-4b29-97a6-9f70dd175ab0_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_d8478ff7-3d35-4b1a-9774-4c6f0f359314_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</link:label>
    <link:label id="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment, Tax Withholding, Share-based Payment Arrangement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ClassOfStockDomain_f755848f-2ab5-497c-b7f1-f9b45a9b5f55_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockDomain_label_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain" xlink:to="lab_us-gaap_ClassOfStockDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_096e93d7-a8f5-46e9-a0d7-4236c5af86ba_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit facility, maximum borrowing capacity</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_OwnershipDomain_e90318f9-b9ac-4d61-ba0a-708851612ed1_terseLabel_en-US" xlink:label="lab_srt_OwnershipDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ownership [Domain]</link:label>
    <link:label id="lab_srt_OwnershipDomain_label_en-US" xlink:label="lab_srt_OwnershipDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ownership [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_OwnershipDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_OwnershipDomain" xlink:to="lab_srt_OwnershipDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_6697daeb-1166-4320-b0c2-ed6f4006b764_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_56688d46-8bcb-49ce-b917-8d166d34cd94_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized discount and financing fees</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_f373a3b3-444a-45df-98ad-f3ad876adb8e_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued sales commissions</link:label>
    <link:label id="lab_us-gaap_AccruedSalesCommissionCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Sales Commission, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalesCommissionCurrent" xlink:to="lab_us-gaap_AccruedSalesCommissionCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_0f5c6e34-0413-4994-aa0c-30d42ce0e7d0_terseLabel_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Navy</link:label>
    <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_label_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Navy [Member]</link:label>
    <link:label id="lab_efoi_DistributorToTheU.S.NavyMember_documentation_en-US" xlink:label="lab_efoi_DistributorToTheU.S.NavyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Distributor To The U.S. Navy [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheU.S.NavyMember" xlink:href="efoi-20211231.xsd#efoi_DistributorToTheU.S.NavyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DistributorToTheU.S.NavyMember" xlink:to="lab_efoi_DistributorToTheU.S.NavyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_44a501c1-ba81-4355-a67e-a2a134d02802_terseLabel_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, net orderly liquidation value</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_label_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent</link:label>
    <link:label id="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_documentation_en-US" xlink:label="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:to="lab_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_9f15dbdb-8b7a-446b-86a4-c344330f883a_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsCurrent_ba3fb11d-4422-4188-8a08-818141dd68cd_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_OtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsCurrent" xlink:to="lab_us-gaap_OtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_e1757d09-a199-4cf5-98bb-ac6a05805704_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_c0ac32c5-2904-4fff-8e10-4bdd6ee1a214_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units Outstanding</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingExpense_2268c3d9-045d-4eaf-92c1-a466b7acbaea_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising expense</link:label>
    <link:label id="lab_us-gaap_AdvertisingExpense_label_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdvertisingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingExpense" xlink:to="lab_us-gaap_AdvertisingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_2afd3961-9172-42dd-b33f-4b526627802e_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recent accounting standards and pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_ee4d549b-1a26-4a2d-b82f-8e088a509058_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized stock compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain_1a23f06f-7e50-4c09-b908-4dd14e37d88f_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption, Period [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption, Period [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepositsAssetsCurrent_ebac9f58-2e8c-4bc9-ae89-e7f32b31def7_terseLabel_en-US" xlink:label="lab_us-gaap_DepositsAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term deposits</link:label>
    <link:label id="lab_us-gaap_DepositsAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_DepositsAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deposits Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepositsAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepositsAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepositsAssetsCurrent" xlink:to="lab_us-gaap_DepositsAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_6ff923be-ad32-462e-8c0f-6ede2c7cda7c_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_0a8afd9e-1963-472a-8d0a-8bb033a7bd4a_terseLabel_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivables</link:label>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_label_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockMember_2115e2d8-6ffd-4048-ac5d-5a9ff1f821d6_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock</link:label>
    <link:label id="lab_us-gaap_PreferredStockMember_label_en-US" xlink:label="lab_us-gaap_PreferredStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockMember" xlink:to="lab_us-gaap_PreferredStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityNoncurrent_ca9ec308-c338-4b75-b058-f9bf258b89b1_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease liabilities, net of current portion</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_DebtInstrumentBaseRateVariable_2b17162e-cae2-4947-a48a-b5a9b10e2df4_terseLabel_en-US" xlink:label="lab_efoi_DebtInstrumentBaseRateVariable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable interest rate, base</link:label>
    <link:label id="lab_efoi_DebtInstrumentBaseRateVariable_label_en-US" xlink:label="lab_efoi_DebtInstrumentBaseRateVariable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Base Rate, Variable</link:label>
    <link:label id="lab_efoi_DebtInstrumentBaseRateVariable_documentation_en-US" xlink:label="lab_efoi_DebtInstrumentBaseRateVariable" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Base Rate, Variable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentBaseRateVariable" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentBaseRateVariable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_DebtInstrumentBaseRateVariable" xlink:to="lab_efoi_DebtInstrumentBaseRateVariable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_dde5df47-fad9-4f2c-888c-8b96234c4544_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Shares Outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_e5f69491-09a8-49ab-90ef-ccd36c79ff9b_periodStartLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning Balance</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_b6aa45ca-8f47-4f39-bf7a-5b1fc6fbe882_periodEndLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending Balance</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_ExercisePriceRangeThreeMember_0b0356ed-7de0-4cf1-8680-f3829501ef36_terseLabel_en-US" xlink:label="lab_efoi_ExercisePriceRangeThreeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise price, range three</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeThreeMember_label_en-US" xlink:label="lab_efoi_ExercisePriceRangeThreeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range Three [Member]</link:label>
    <link:label id="lab_efoi_ExercisePriceRangeThreeMember_documentation_en-US" xlink:label="lab_efoi_ExercisePriceRangeThreeMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">The third exercise price range.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeThreeMember" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeThreeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_ExercisePriceRangeThreeMember" xlink:to="lab_efoi_ExercisePriceRangeThreeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_0808666e-0867-4706-ad9f-e7f83138c077_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_January2020EquityOfferingMember_ae201cb1-ce6f-4903-8962-ddb6b1478c29_terseLabel_en-US" xlink:label="lab_efoi_January2020EquityOfferingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering</link:label>
    <link:label id="lab_efoi_January2020EquityOfferingMember_label_en-US" xlink:label="lab_efoi_January2020EquityOfferingMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering [Member]</link:label>
    <link:label id="lab_efoi_January2020EquityOfferingMember_documentation_en-US" xlink:label="lab_efoi_January2020EquityOfferingMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">January 2020 Equity Offering</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_January2020EquityOfferingMember" xlink:to="lab_efoi_January2020EquityOfferingMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost_ca226550-dc2f-4bc8-b138-3003846906e6_terseLabel_en-US" xlink:label="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write off of remaining related debt and acquisition cost</link:label>
    <link:label id="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost_label_en-US" xlink:label="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Write off of Deferred Debt Issuance Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:to="lab_us-gaap_WriteOffOfDeferredDebtIssuanceCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryPolicyTextBlock_dc21292b-01e9-4be4-ad92-67b7e8c904dd_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryPolicyTextBlock" xlink:to="lab_us-gaap_InventoryPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScenarioUnspecifiedDomain_7a4f5e1a-ebc8-4f83-9f24-2063ffc0a0da_terseLabel_en-US" xlink:label="lab_srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Domain]</link:label>
    <link:label id="lab_srt_ScenarioUnspecifiedDomain_label_en-US" xlink:label="lab_srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scenario [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScenarioUnspecifiedDomain" xlink:to="lab_srt_ScenarioUnspecifiedDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NatureOfOperations_08a74785-a3ec-4c3a-b26b-998c4b038cef_terseLabel_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations</link:label>
    <link:label id="lab_us-gaap_NatureOfOperations_label_en-US" xlink:label="lab_us-gaap_NatureOfOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Nature of Operations [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NatureOfOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NatureOfOperations" xlink:to="lab_us-gaap_NatureOfOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_da4b5200-b064-401f-8700-e66a79178bf8_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net loss to net cash used in operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_af3e5257-c4d6-43e1-a1bd-8ae6dd36a45e_terseLabel_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance lease right-of-use asset</link:label>
    <link:label id="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finance Lease, Right-of-Use Asset, before Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:to="lab_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_cf71a202-2fc4-4d00-912b-76d6d6304dd1_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_Plan2014Member_dfdc55e6-d3eb-415e-b07b-86d812076547_terseLabel_en-US" xlink:label="lab_efoi_Plan2014Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2014 Plan</link:label>
    <link:label id="lab_efoi_Plan2014Member_label_en-US" xlink:label="lab_efoi_Plan2014Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan 2014 [Member]</link:label>
    <link:label id="lab_efoi_Plan2014Member_documentation_en-US" xlink:label="lab_efoi_Plan2014Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock incentive plan approved in 2014.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2014Member" xlink:href="efoi-20211231.xsd#efoi_Plan2014Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_Plan2014Member" xlink:to="lab_efoi_Plan2014Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_5b9814f5-ca51-4427-96fa-55c99b0fbfe3_terseLabel_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transactions</link:label>
    <link:label id="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Related Party Transactions Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="lab_us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis_2c113108-6b34-45d4-bd1c-23cb45be05cc_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption, Period [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Redemption, Period [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:to="lab_us-gaap_DebtInstrumentRedemptionPeriodAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_ac131202-948a-4ff9-901d-8117bc53da5d_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscount_b82f953b-a754-4371-8f52-28286e85220f_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Original issue discount</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentUnamortizedDiscount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Unamortized Discount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:to="lab_us-gaap_DebtInstrumentUnamortizedDiscount" xlink:type="arc" order="1"/>
    <link:label id="lab_efoi_FiveElementsEfficientiesBVILtdMember_e7ab6406-0ac0-4b4e-9b77-545f520f5eb3_terseLabel_en-US" xlink:label="lab_efoi_FiveElementsEfficientiesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">5 Elements Efficiencies (BVI) Ltd.</link:label>
    <link:label id="lab_efoi_FiveElementsEfficientiesBVILtdMember_label_en-US" xlink:label="lab_efoi_FiveElementsEfficientiesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Five Elements Efficienties BVI Ltd [Member]</link:label>
    <link:label id="lab_efoi_FiveElementsEfficientiesBVILtdMember_documentation_en-US" xlink:label="lab_efoi_FiveElementsEfficientiesBVILtdMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">5 Elements Efficienties (BVI) Ltd.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FiveElementsEfficientiesBVILtdMember" xlink:href="efoi-20211231.xsd#efoi_FiveElementsEfficientiesBVILtdMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_efoi_FiveElementsEfficientiesBVILtdMember" xlink:to="lab_efoi_FiveElementsEfficientiesBVILtdMember" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>efoi-20211231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2022 Workiva-->
<!--r:13116448-71a2-4af8-9e91-d4c92f75b720,g:184c1f71-0180-45bd-bba3-700045272b27-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CoverPage" xlink:type="simple" xlink:href="efoi-20211231.xsd#CoverPage"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_585bcd22-0bb6-4310-857b-60f93e772274" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_DocumentType_585bcd22-0bb6-4310-857b-60f93e772274" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport_bd3add5b-af2e-4836-8d9f-f1a5d3643f0a" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAnnualReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_DocumentAnnualReport_bd3add5b-af2e-4836-8d9f-f1a5d3643f0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_9bc77af6-4e06-43e0-8377-e4be4523a627" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_DocumentPeriodEndDate_9bc77af6-4e06-43e0-8377-e4be4523a627" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_7d34a1f7-c87f-4769-b9f1-a506cef355fe" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_CurrentFiscalYearEndDate_7d34a1f7-c87f-4769-b9f1-a506cef355fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_22d1175c-f186-4a69-b062-84cce694969e" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_DocumentTransitionReport_22d1175c-f186-4a69-b062-84cce694969e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_472b44f1-2f6f-448d-aed3-653cf7d0c4b2" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityFileNumber_472b44f1-2f6f-448d-aed3-653cf7d0c4b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_76f9ee8b-72c4-4c7d-92c4-95c01e463893" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityRegistrantName_76f9ee8b-72c4-4c7d-92c4-95c01e463893" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_3c5e9065-cc9d-40ec-bd8f-061d31f2c1fc" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityIncorporationStateCountryCode_3c5e9065-cc9d-40ec-bd8f-061d31f2c1fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_cfafd03b-de41-4c18-9c16-6777532ec896" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityTaxIdentificationNumber_cfafd03b-de41-4c18-9c16-6777532ec896" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_7c1cdae0-f76e-422d-b413-5fa39e1b4dd9" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityAddressAddressLine1_7c1cdae0-f76e-422d-b413-5fa39e1b4dd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2_bfc99f23-c866-42e1-b859-f7cf81896036" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityAddressAddressLine2_bfc99f23-c866-42e1-b859-f7cf81896036" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_04e6ea42-0875-4dd8-a47c-09ac9c16683c" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityAddressCityOrTown_04e6ea42-0875-4dd8-a47c-09ac9c16683c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_ec3f813e-fb87-4d90-ab08-b6ffa1ffc9d2" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityAddressStateOrProvince_ec3f813e-fb87-4d90-ab08-b6ffa1ffc9d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_729328d8-004b-4e22-a53a-7cd6ace727c8" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityAddressPostalZipCode_729328d8-004b-4e22-a53a-7cd6ace727c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_227f128f-29bb-4b66-929d-b9984a5792e7" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_CityAreaCode_227f128f-29bb-4b66-929d-b9984a5792e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_f62739a1-6135-45d4-ae2a-7193c8008605" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_LocalPhoneNumber_f62739a1-6135-45d4-ae2a-7193c8008605" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_48f46f4d-4b15-4144-ba27-031197901d62" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_Security12bTitle_48f46f4d-4b15-4144-ba27-031197901d62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_06f3e9ef-9885-44cb-92be-6309db44de35" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_TradingSymbol_06f3e9ef-9885-44cb-92be-6309db44de35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_0f446f10-7854-494f-82bc-33f19dfede33" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_SecurityExchangeName_0f446f10-7854-494f-82bc-33f19dfede33" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_36611795-f1f7-4616-b6e0-0bda916993fb" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_36611795-f1f7-4616-b6e0-0bda916993fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers_96795c25-e01f-442a-8a78-aea22f7544d3" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityVoluntaryFilers"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityVoluntaryFilers_96795c25-e01f-442a-8a78-aea22f7544d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_fe627eca-1ec5-44be-a281-3d8436d94e12" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityCurrentReportingStatus_fe627eca-1ec5-44be-a281-3d8436d94e12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_624a9420-85be-4c7f-875e-ec54ac28350d" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityInteractiveDataCurrent_624a9420-85be-4c7f-875e-ec54ac28350d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_58ee337e-8344-4cad-932f-fa752dbf38a0" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityFilerCategory_58ee337e-8344-4cad-932f-fa752dbf38a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_ec970114-940e-4786-8762-fcb809e03133" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntitySmallBusiness_ec970114-940e-4786-8762-fcb809e03133" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_5228b1f0-7711-4969-8243-0a4058184208" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityEmergingGrowthCompany_5228b1f0-7711-4969-8243-0a4058184208" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag_a164da4d-8f6b-4d78-aa66-908c5c7b981e" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_IcfrAuditorAttestationFlag_a164da4d-8f6b-4d78-aa66-908c5c7b981e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_818da772-92c3-4b87-aba3-903c9cf55f96" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityShellCompany_818da772-92c3-4b87-aba3-903c9cf55f96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat_918eb751-c217-410f-ac30-ca566b97ebf4" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPublicFloat"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityPublicFloat_918eb751-c217-410f-ac30-ca566b97ebf4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_7ea9982f-c1a2-4634-9c63-1102671ea637" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_7ea9982f-c1a2-4634-9c63-1102671ea637" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock_84c7d29d-042d-4e65-b12a-3733eb2db6ae" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:presentationArc order="31" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_DocumentsIncorporatedByReferenceTextBlock_84c7d29d-042d-4e65-b12a-3733eb2db6ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_6f1c58a3-5924-491e-a5ea-a1df93eaa59f" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="32" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_EntityCentralIndexKey_6f1c58a3-5924-491e-a5ea-a1df93eaa59f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_f7668a1e-ab79-4746-81ad-fa013734773b" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="33" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_DocumentFiscalYearFocus_f7668a1e-ab79-4746-81ad-fa013734773b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_d1f858c3-2aad-417e-8f79-12c0ff356d9d" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="34" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_DocumentFiscalPeriodFocus_d1f858c3-2aad-417e-8f79-12c0ff356d9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_651d73ed-7931-48f5-9375-d91aa28bf956" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="35" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_6128d5ce-06b5-4ac1-b911-88d2dcbf9781" xlink:to="loc_dei_AmendmentFlag_651d73ed-7931-48f5-9375-d91aa28bf956" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/AuditInformation" xlink:type="simple" xlink:href="efoi-20211231.xsd#AuditInformation"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/AuditInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AuditInformationAbstract_de16b1f6-0d72-4557-befc-8ab4fefb6224" xlink:href="efoi-20211231.xsd#efoi_AuditInformationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId_4108cf82-f7e8-4df0-94a9-b8bd485b9bb6" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorFirmId"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_AuditInformationAbstract_de16b1f6-0d72-4557-befc-8ab4fefb6224" xlink:to="loc_dei_AuditorFirmId_4108cf82-f7e8-4df0-94a9-b8bd485b9bb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName_c571761d-9626-4ef6-b9b4-fad9bbc496e9" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorName"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_AuditInformationAbstract_de16b1f6-0d72-4557-befc-8ab4fefb6224" xlink:to="loc_dei_AuditorName_c571761d-9626-4ef6-b9b4-fad9bbc496e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation_f54c9fc5-3bf2-4fa9-b8f0-8e8bcc134af7" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorLocation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_AuditInformationAbstract_de16b1f6-0d72-4557-befc-8ab4fefb6224" xlink:to="loc_dei_AuditorLocation_f54c9fc5-3bf2-4fa9-b8f0-8e8bcc134af7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedBalanceSheets"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_4e95c63c-9f3a-4720-ac2d-6136bac525bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_8f6957e3-5ec1-4adb-ad37-a687105db112" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_4e95c63c-9f3a-4720-ac2d-6136bac525bd" xlink:to="loc_us-gaap_AssetsAbstract_8f6957e3-5ec1-4adb-ad37-a687105db112" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_0a9d0a14-12d7-4514-aece-f47527f8384f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8f6957e3-5ec1-4adb-ad37-a687105db112" xlink:to="loc_us-gaap_AssetsCurrentAbstract_0a9d0a14-12d7-4514-aece-f47527f8384f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_b7b41862-f981-4b7a-a35d-96e62c6d72d5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_0a9d0a14-12d7-4514-aece-f47527f8384f" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_b7b41862-f981-4b7a-a35d-96e62c6d72d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_e6f8765f-2f4c-4d6a-a1fe-6fe84363c815" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_0a9d0a14-12d7-4514-aece-f47527f8384f" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_e6f8765f-2f4c-4d6a-a1fe-6fe84363c815" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_fea5c56f-ef4e-4b7c-bd0d-327dd072f64f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_0a9d0a14-12d7-4514-aece-f47527f8384f" xlink:to="loc_us-gaap_InventoryNet_fea5c56f-ef4e-4b7c-bd0d-327dd072f64f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepositsAssetsCurrent_e550bf6d-7620-407e-98d7-b8b4709dd249" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepositsAssetsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_0a9d0a14-12d7-4514-aece-f47527f8384f" xlink:to="loc_us-gaap_DepositsAssetsCurrent_e550bf6d-7620-407e-98d7-b8b4709dd249" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_41fd36a4-3568-4f4a-8dce-9874afd643b3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_0a9d0a14-12d7-4514-aece-f47527f8384f" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_41fd36a4-3568-4f4a-8dce-9874afd643b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_c8fdc5e3-c43c-4829-ade3-149bdb7bb93e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_0a9d0a14-12d7-4514-aece-f47527f8384f" xlink:to="loc_us-gaap_AssetsCurrent_c8fdc5e3-c43c-4829-ade3-149bdb7bb93e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_03e24057-e733-4d2b-91c4-6130562a1726" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8f6957e3-5ec1-4adb-ad37-a687105db112" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_03e24057-e733-4d2b-91c4-6130562a1726" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_519617e5-a8e0-49db-88f2-f9ae6bd6ec81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8f6957e3-5ec1-4adb-ad37-a687105db112" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_519617e5-a8e0-49db-88f2-f9ae6bd6ec81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset_44d7c7b1-c364-4a24-b3ed-3800a20c067c" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8f6957e3-5ec1-4adb-ad37-a687105db112" xlink:to="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset_44d7c7b1-c364-4a24-b3ed-3800a20c067c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_1696a949-01d6-4104-ac1d-e4709ec1cbe5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_8f6957e3-5ec1-4adb-ad37-a687105db112" xlink:to="loc_us-gaap_Assets_1696a949-01d6-4104-ac1d-e4709ec1cbe5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract_196714cd-c8ee-4741-813a-e84f27773936" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_4e95c63c-9f3a-4720-ac2d-6136bac525bd" xlink:to="loc_us-gaap_LiabilitiesAbstract_196714cd-c8ee-4741-813a-e84f27773936" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_196714cd-c8ee-4741-813a-e84f27773936" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_d9b39d61-c2b5-4931-a998-16b17ac4cadb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_AccountsPayableCurrent_d9b39d61-c2b5-4931-a998-16b17ac4cadb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_33a1fba4-a9f2-406e-8cef-4dcb0148aa99" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_33a1fba4-a9f2-406e-8cef-4dcb0148aa99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedProfessionalFeesCurrent_6849e796-6cb6-41f7-9eaa-0ddeb0565bd1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedProfessionalFeesCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_AccruedProfessionalFeesCurrent_6849e796-6cb6-41f7-9eaa-0ddeb0565bd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedEmployeeBenefitsCurrent_75644415-fe36-4808-b002-b41d02bf6938" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedEmployeeBenefitsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_AccruedEmployeeBenefitsCurrent_75644415-fe36-4808-b002-b41d02bf6938" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedSalesCommissionCurrent_068b4908-8680-47b0-8299-ba4547a5bf87" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_AccruedSalesCommissionCurrent_068b4908-8680-47b0-8299-ba4547a5bf87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent_eb8a30fc-0757-469e-b0ae-72f16c7a9ebf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_RestructuringReserveCurrent_eb8a30fc-0757-469e-b0ae-72f16c7a9ebf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_8a381824-f375-4057-9800-2c6bae9ba3e7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_8a381824-f375-4057-9800-2c6bae9ba3e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredRevenueCurrent_6bd23a07-6ad9-4170-a0a8-2735e3b849e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredRevenueCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_DeferredRevenueCurrent_6bd23a07-6ad9-4170-a0a8-2735e3b849e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_d1627f6e-b077-4a11-871d-909c6b7bc955" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_d1627f6e-b077-4a11-871d-909c6b7bc955" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiabilityCurrent_a3475885-1937-4a0f-b42c-e2dc3f87fe68" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_efoi_RestructuredOperatingLeaseLiabilityCurrent_a3475885-1937-4a0f-b42c-e2dc3f87fe68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityCurrent_c3a59ebb-8f40-46b5-8d90-fef0aada2535" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityCurrent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_FinanceLeaseLiabilityCurrent_c3a59ebb-8f40-46b5-8d90-fef0aada2535" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NotesPayableCurrent_5281f6e7-c045-4ba3-95b1-df60be3fd7fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesPayableCurrent"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_NotesPayableCurrent_5281f6e7-c045-4ba3-95b1-df60be3fd7fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramCurrent_584fc90b-f2dd-4f1e-8b49-acff48d3adfe" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramCurrent"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_efoi_PaymentProtectionProgramCurrent_584fc90b-f2dd-4f1e-8b49-acff48d3adfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent_600dec09-d026-41b1-b169-dc43a1691043" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_LinesOfCreditCurrent_600dec09-d026-41b1-b169-dc43a1691043" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_f32f7e31-fd79-4115-81ac-c015132c4123" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_30179866-5120-465f-9928-654969055d15" xlink:to="loc_us-gaap_LiabilitiesCurrent_f32f7e31-fd79-4115-81ac-c015132c4123" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_51631339-c6fd-40d5-99ed-76696a916dbc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_196714cd-c8ee-4741-813a-e84f27773936" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_51631339-c6fd-40d5-99ed-76696a916dbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityNoncurrent_21d19eb4-ce7a-4e85-b159-28b45850e56a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_196714cd-c8ee-4741-813a-e84f27773936" xlink:to="loc_us-gaap_FinanceLeaseLiabilityNoncurrent_21d19eb4-ce7a-4e85-b159-28b45850e56a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramNoncurrent_3c2ba5a9-7d83-4b15-93ee-6b9bde556f8d" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_196714cd-c8ee-4741-813a-e84f27773936" xlink:to="loc_efoi_PaymentProtectionProgramNoncurrent_3c2ba5a9-7d83-4b15-93ee-6b9bde556f8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Liabilities_d0096156-220c-47cb-9300-9685f1785e58" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_196714cd-c8ee-4741-813a-e84f27773936" xlink:to="loc_us-gaap_Liabilities_d0096156-220c-47cb-9300-9685f1785e58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_4e95c63c-9f3a-4720-ac2d-6136bac525bd" xlink:to="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_58116fca-2948-4581-a669-30d4f5c5bf00" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:to="loc_us-gaap_PreferredStockValue_58116fca-2948-4581-a669-30d4f5c5bf00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_185415da-c80c-443c-b55b-71396415c6a7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:to="loc_us-gaap_CommonStockValue_185415da-c80c-443c-b55b-71396415c6a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_ec470d51-24ef-4dd4-804a-813464c03868" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_ec470d51-24ef-4dd4-804a-813464c03868" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_65a0bde6-0574-496e-be2f-0e141aecf9d3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_65a0bde6-0574-496e-be2f-0e141aecf9d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_675d4bf8-5a11-4900-b229-6fac65264d71" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_675d4bf8-5a11-4900-b229-6fac65264d71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a35b5981-2cbb-4fcb-adcf-8c011c65e89e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:to="loc_us-gaap_StockholdersEquity_a35b5981-2cbb-4fcb-adcf-8c011c65e89e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_aea738a5-efb4-4e9a-97ad-81e43c08d302" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_4808d5e9-9850-49a2-a8a7-330ba08fefa8" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_aea738a5-efb4-4e9a-97ad-81e43c08d302" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_4b2b11cf-ce05-47bc-a254-4fb2ac0f835b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_8f48d70c-203c-4225-8b70-449b953dab9a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_4b2b11cf-ce05-47bc-a254-4fb2ac0f835b" xlink:to="loc_us-gaap_StatementTable_8f48d70c-203c-4225-8b70-449b953dab9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_0ffad4d6-9484-47a3-bb27-9932884b911b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_8f48d70c-203c-4225-8b70-449b953dab9a" xlink:to="loc_us-gaap_StatementClassOfStockAxis_0ffad4d6-9484-47a3-bb27-9932884b911b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_e05ef486-6f1f-4359-bdae-80b324affee4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_0ffad4d6-9484-47a3-bb27-9932884b911b" xlink:to="loc_us-gaap_ClassOfStockDomain_e05ef486-6f1f-4359-bdae-80b324affee4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_517c7c9f-8e71-4a61-8d7e-b437bf93af3f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_e05ef486-6f1f-4359-bdae-80b324affee4" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_517c7c9f-8e71-4a61-8d7e-b437bf93af3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_8f48d70c-203c-4225-8b70-449b953dab9a" xlink:to="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_73d77f3c-a84a-45b9-a51b-ab55f5d23cd1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_73d77f3c-a84a-45b9-a51b-ab55f5d23cd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_69119d9f-b01c-4437-9851-1772dcc8c8b6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_69119d9f-b01c-4437-9851-1772dcc8c8b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_b28a6413-f759-4807-acfa-0e604bf85216" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_b28a6413-f759-4807-acfa-0e604bf85216" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_e365c095-cd38-4146-99bd-21921ce9b116" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_PreferredStockSharesIssued_e365c095-cd38-4146-99bd-21921ce9b116" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_d9505396-ef2c-48ee-b6ec-106c6ffd30a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_d9505396-ef2c-48ee-b6ec-106c6ffd30a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_02feef75-7ce4-411b-aab7-48ba0e16cc7d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_02feef75-7ce4-411b-aab7-48ba0e16cc7d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_9c69db20-d839-417b-937d-a8a5ba3da01f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_9c69db20-d839-417b-937d-a8a5ba3da01f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_137e286c-942e-41fd-9e34-b496f60fa029" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_CommonStockSharesIssued_137e286c-942e-41fd-9e34-b496f60fa029" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_0c2b7475-818f-4e05-999a-f576ae9df493" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_dc91a92b-487c-48c4-85dd-ccd9d08e3cdd" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_0c2b7475-818f-4e05-999a-f576ae9df493" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofOperations"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_35202cbb-5d54-40cb-8a25-65abe42f50cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_Revenues_35202cbb-5d54-40cb-8a25-65abe42f50cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_9f130559-c4cd-4c2c-a4eb-cbb8855aa076" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_9f130559-c4cd-4c2c-a4eb-cbb8855aa076" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_6292e5c0-0b99-4185-90d1-afa652038952" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_GrossProfit_6292e5c0-0b99-4185-90d1-afa652038952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpensesAbstract_13678cf8-f5dd-4008-bfba-042c09ea988c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_OperatingExpensesAbstract_13678cf8-f5dd-4008-bfba-042c09ea988c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_c2d09116-389b-4053-894b-313a8249f41b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_13678cf8-f5dd-4008-bfba-042c09ea988c" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_c2d09116-389b-4053-894b-313a8249f41b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_beef2577-9d09-45d8-9d64-d0a742b7f49f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_13678cf8-f5dd-4008-bfba-042c09ea988c" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_beef2577-9d09-45d8-9d64-d0a742b7f49f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCosts_19a3a253-c940-44bc-80e3-3213a04b7296" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_13678cf8-f5dd-4008-bfba-042c09ea988c" xlink:to="loc_us-gaap_RestructuringCosts_19a3a253-c940-44bc-80e3-3213a04b7296" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingExpenses_66b2a0b7-48cf-4257-8a1f-3057500568ad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_13678cf8-f5dd-4008-bfba-042c09ea988c" xlink:to="loc_us-gaap_OperatingExpenses_66b2a0b7-48cf-4257-8a1f-3057500568ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_8d1a2c9c-1854-4f2f-9903-fd0d5ff416ef" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingExpensesAbstract_13678cf8-f5dd-4008-bfba-042c09ea988c" xlink:to="loc_us-gaap_OperatingIncomeLoss_8d1a2c9c-1854-4f2f-9903-fd0d5ff416ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NonoperatingIncomeExpenseAbstract_10dc335e-10f6-4a1c-9f4e-bc9275a8d3de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_NonoperatingIncomeExpenseAbstract_10dc335e-10f6-4a1c-9f4e-bc9275a8d3de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestExpense_4f068753-459d-4bf2-9d6a-4807ebbc134a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_10dc335e-10f6-4a1c-9f4e-bc9275a8d3de" xlink:to="loc_us-gaap_InterestExpense_4f068753-459d-4bf2-9d6a-4807ebbc134a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_356c4ee8-dd8e-4350-b6fc-5d317b580560" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_10dc335e-10f6-4a1c-9f4e-bc9275a8d3de" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_356c4ee8-dd8e-4350-b6fc-5d317b580560" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_6c18da19-5540-465f-8d1d-b9ee70d0dbc3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainsLossesOnExtinguishmentOfDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_10dc335e-10f6-4a1c-9f4e-bc9275a8d3de" xlink:to="loc_us-gaap_GainsLossesOnExtinguishmentOfDebt_6c18da19-5540-465f-8d1d-b9ee70d0dbc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_af322f5a-15d0-4e55-80a3-329f84a89944" xlink:href="efoi-20211231.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_10dc335e-10f6-4a1c-9f4e-bc9275a8d3de" xlink:to="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_af322f5a-15d0-4e55-80a3-329f84a89944" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants_12623d9f-1c31-40c0-9b5d-fd1aac2bb4ae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_10dc335e-10f6-4a1c-9f4e-bc9275a8d3de" xlink:to="loc_us-gaap_FairValueAdjustmentOfWarrants_12623d9f-1c31-40c0-9b5d-fd1aac2bb4ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_972fce81-7506-4f67-8c08-8d5c12c16a80" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NonoperatingIncomeExpenseAbstract_10dc335e-10f6-4a1c-9f4e-bc9275a8d3de" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_972fce81-7506-4f67-8c08-8d5c12c16a80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e93e94c3-15a9-47b2-a1de-dfc400647c30" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e93e94c3-15a9-47b2-a1de-dfc400647c30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_70cab82f-4af9-4d95-8ac4-6dd202928b84" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_70cab82f-4af9-4d95-8ac4-6dd202928b84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_028f90a8-22eb-4aaa-8f27-f3115a2ad6dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_NetIncomeLoss_028f90a8-22eb-4aaa-8f27-f3115a2ad6dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_1f7396a3-1bf5-424b-ab2b-bbacaf0b0b8a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_1f7396a3-1bf5-424b-ab2b-bbacaf0b0b8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_cc95e293-7704-4b8a-8575-0c026c25bdca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_1f7396a3-1bf5-424b-ab2b-bbacaf0b0b8a" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_cc95e293-7704-4b8a-8575-0c026c25bdca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_bebe6b35-c685-41e4-bfb5-d1d253186e89" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_1f7396a3-1bf5-424b-ab2b-bbacaf0b0b8a" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_bebe6b35-c685-41e4-bfb5-d1d253186e89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_689889cd-f3de-41df-a68e-78cbb783662a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_12a951a8-7b6d-410f-8854-cde977c433f6" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_689889cd-f3de-41df-a68e-78cbb783662a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_6e3d6850-7a87-473e-8112-2e40071c1862" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_689889cd-f3de-41df-a68e-78cbb783662a" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_6e3d6850-7a87-473e-8112-2e40071c1862" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_a8eb0df5-871a-45a8-8e96-f6f579c665c3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_689889cd-f3de-41df-a68e-78cbb783662a" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_a8eb0df5-871a-45a8-8e96-f6f579c665c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperationsParanthetical" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofOperationsParanthetical"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperationsParanthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_16dcb361-17e7-474a-a7e5-a2d6f5b07cf2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_31a96345-37ba-42be-bd52-2d5d6669a597" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteStockSplitConversionRatio1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_16dcb361-17e7-474a-a7e5-a2d6f5b07cf2" xlink:to="loc_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_31a96345-37ba-42be-bd52-2d5d6669a597" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofComprehensiveLoss"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_3467ebb6-6bb8-4e83-9d9a-7dfea3add9dd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_cb2ed0d1-4ec4-4400-83ba-24393a90d2da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_3467ebb6-6bb8-4e83-9d9a-7dfea3add9dd" xlink:to="loc_us-gaap_NetIncomeLoss_cb2ed0d1-4ec4-4400-83ba-24393a90d2da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_1e922ba3-618d-4133-b161-fdd7c4e594d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_3467ebb6-6bb8-4e83-9d9a-7dfea3add9dd" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_1e922ba3-618d-4133-b161-fdd7c4e594d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_0ba5fa1c-bfb3-4dc0-83db-b962ab81718b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_1e922ba3-618d-4133-b161-fdd7c4e594d6" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_0ba5fa1c-bfb3-4dc0-83db-b962ab81718b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_c661836a-3207-4e0f-b2e0-3cb119c865d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_1e922ba3-618d-4133-b161-fdd7c4e594d6" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_c661836a-3207-4e0f-b2e0-3cb119c865d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofStockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_fd198901-a278-4aa9-8e31-8446c396dbf5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_fd198901-a278-4aa9-8e31-8446c396dbf5" xlink:to="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_a79c4862-cf53-4e32-b73b-4854cd951268" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_a79c4862-cf53-4e32-b73b-4854cd951268" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_a79c4862-cf53-4e32-b73b-4854cd951268" xlink:to="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_66b953e4-e882-4a86-b1bf-2931cfc21b01" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_PreferredStockMember_66b953e4-e882-4a86-b1bf-2931cfc21b01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_5aa5de50-f678-4120-82d7-d7d1d2e472d4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_CommonStockMember_5aa5de50-f678-4120-82d7-d7d1d2e472d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_1959ea79-7848-42fe-a14c-96a01b198b34" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_1959ea79-7848-42fe-a14c-96a01b198b34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_afa3afbb-b247-4912-9818-60b798c163a7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_afa3afbb-b247-4912-9818-60b798c163a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_5a5c85bb-8ff3-461a-8df3-8022b91d13d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_247b36e3-ce14-49be-97a2-c14f99feb31b" xlink:to="loc_us-gaap_RetainedEarningsMember_5a5c85bb-8ff3-461a-8df3-8022b91d13d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_a58b3548-5126-4119-93a7-49987d04c99a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:to="loc_us-gaap_AwardTypeAxis_a58b3548-5126-4119-93a7-49987d04c99a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f24212a2-079b-4f5b-9095-39015ea4810b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_a58b3548-5126-4119-93a7-49987d04c99a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f24212a2-079b-4f5b-9095-39015ea4810b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_61e4f402-5d60-44f1-a649-53c9a7e87546" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_f24212a2-079b-4f5b-9095-39015ea4810b" xlink:to="loc_us-gaap_PreferredStockMember_61e4f402-5d60-44f1-a649-53c9a7e87546" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_2fbbfe71-9164-4434-9f63-5b3f1ca57875" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_3f3cc87e-2642-47c4-9e5e-b51e4fa63629" xlink:to="loc_us-gaap_StatementLineItems_2fbbfe71-9164-4434-9f63-5b3f1ca57875" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_2fbbfe71-9164-4434-9f63-5b3f1ca57875" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_10319787-03f0-4faa-9bc7-a678834949a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_SharesOutstanding_10319787-03f0-4faa-9bc7-a678834949a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_cdf63a60-eb17-4565-ab10-ea7582e14fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockholdersEquity_cdf63a60-eb17-4565-ab10-ea7582e14fbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_3553d011-857d-4cd0-85d6-63386e6d8b77" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_3553d011-857d-4cd0-85d6-63386e6d8b77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_d9fcc271-303d-4936-b3af-d14342c64b72" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_d9fcc271-303d-4936-b3af-d14342c64b72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_f13d847a-a354-4dc7-ac42-8de864c768dd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_f13d847a-a354-4dc7-ac42-8de864c768dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease_b6eb00e5-6411-402f-a599-9cd97ac180d2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease_b6eb00e5-6411-402f-a599-9cd97ac180d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_57200bcb-96dd-44a8-b2a0-5bf75bc7e55c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueNewIssues_57200bcb-96dd-44a8-b2a0-5bf75bc7e55c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_6c2abee5-b697-43be-b5dd-68a9381aca87" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts_6c2abee5-b697-43be-b5dd-68a9381aca87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_86327853-e2ad-477f-8d14-dd28bc2edc37" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_86327853-e2ad-477f-8d14-dd28bc2edc37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants_cd624c48-6bb5-49d0-8531-9047408b19fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants_cd624c48-6bb5-49d0-8531-9047408b19fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued_c84c34eb-6cff-4a93-b0c9-a5b0cbda2841" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued_c84c34eb-6cff-4a93-b0c9-a5b0cbda2841" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_9a9d27b9-f272-42fa-98c7-69c830932276" xlink:href="efoi-20211231.xsd#efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_9a9d27b9-f272-42fa-98c7-69c830932276" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_4328c28b-1f83-49c3-b1cf-6635703d7761" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_4328c28b-1f83-49c3-b1cf-6635703d7761" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_08d37a1c-1b86-4ddc-bff5-ca218abc861a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_08d37a1c-1b86-4ddc-bff5-ca218abc861a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_85b27b38-b647-409a-a7e2-e53ce34d942d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_85b27b38-b647-409a-a7e2-e53ce34d942d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_52929f7c-81fa-4885-b78d-228bc3aa6074" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_NetIncomeLoss_52929f7c-81fa-4885-b78d-228bc3aa6074" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_909cfa66-ccf3-408a-a7d2-cbbb13ba9606" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_StockholdersEquity_909cfa66-ccf3-408a-a7d2-cbbb13ba9606" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesOutstanding_d4900f1a-b17c-4a69-af3d-89dda11b37f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_3e5a8e26-0b1f-424a-a6b2-b584d884d9f4" xlink:to="loc_us-gaap_SharesOutstanding_d4900f1a-b17c-4a69-af3d-89dda11b37f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="efoi-20211231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_96db299a-b0f7-421b-93be-9e50bb4dc437" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_89ed7d42-d5b5-434a-83c4-d67a7157e0e8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_96db299a-b0f7-421b-93be-9e50bb4dc437" xlink:to="loc_us-gaap_StatementTable_89ed7d42-d5b5-434a-83c4-d67a7157e0e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_89ed7d42-d5b5-434a-83c4-d67a7157e0e8" xlink:to="loc_us-gaap_DebtInstrumentAxis_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_f0d0a39f-a482-40f0-be9c-6eeb8036325c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_78e314ff-6d90-4bb8-9fbd-c7b28f26e14c" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_f0d0a39f-a482-40f0-be9c-6eeb8036325c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinCreditFacilityMember_5f9ef57d-46d9-4976-ab59-accb3dde44bd" xlink:href="efoi-20211231.xsd#efoi_AustinCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_f0d0a39f-a482-40f0-be9c-6eeb8036325c" xlink:to="loc_efoi_AustinCreditFacilityMember_5f9ef57d-46d9-4976-ab59-accb3dde44bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CreditFacilitiesMember_7c5c55de-1f44-49b7-be3f-02be44482199" xlink:href="efoi-20211231.xsd#efoi_CreditFacilitiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_f0d0a39f-a482-40f0-be9c-6eeb8036325c" xlink:to="loc_efoi_CreditFacilitiesMember_7c5c55de-1f44-49b7-be3f-02be44482199" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_89ed7d42-d5b5-434a-83c4-d67a7157e0e8" xlink:to="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_9b6af7d3-7c83-441d-bc54-9b4672d66a68" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:to="loc_us-gaap_NetIncomeLoss_9b6af7d3-7c83-441d-bc54-9b4672d66a68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_180626dd-ada4-4282-b889-683a917e241e" xlink:href="efoi-20211231.xsd#efoi_GainLossFromEmployeeRetentionTaxCredit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_efoi_GainLossFromEmployeeRetentionTaxCredit_180626dd-ada4-4282-b889-683a917e241e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_19452c79-c540-4ea8-bde5-8b44c380e6b9" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_19452c79-c540-4ea8-bde5-8b44c380e6b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_0f9be142-6866-41ec-9915-bf63b9ee3273" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_Depreciation_0f9be142-6866-41ec-9915-bf63b9ee3273" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_7d1946e3-285f-4628-959a-496ea228122a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_ShareBasedCompensation_7d1946e3-285f-4628-959a-496ea228122a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants_702dc714-8c50-43ff-833c-c1a2056d344b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_FairValueAdjustmentOfWarrants_702dc714-8c50-43ff-833c-c1a2056d344b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_4dccd9c0-e7d9-4a5e-932b-58cd8825c760" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_4dccd9c0-e7d9-4a5e-932b-58cd8825c760" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWriteDown_3d2a5d1d-9037-4fe4-99c6-69f41b79a194" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryWriteDown"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_InventoryWriteDown_3d2a5d1d-9037-4fe4-99c6-69f41b79a194" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInProvisionForWarranties_02596a13-6384-4d4e-9a5f-8eb927a204a2" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInProvisionForWarranties"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_efoi_IncreaseDecreaseInProvisionForWarranties_02596a13-6384-4d4e-9a5f-8eb927a204a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfDebtDiscountPremium_504d4052-cd6e-48f0-a24f-825db01c1d50" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AmortizationOfDebtDiscountPremium"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_AmortizationOfDebtDiscountPremium_504d4052-cd6e-48f0-a24f-825db01c1d50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_e7d2b3f1-27ce-446e-97a5-c04218694847" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_GainLossOnSaleOfPropertyPlantEquipment_e7d2b3f1-27ce-446e-97a5-c04218694847" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2186c7a1-85bc-4188-b731-f5347dcfb578" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2186c7a1-85bc-4188-b731-f5347dcfb578" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_c690c28d-7e7d-4d9a-be23-838b1499c96f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_c690c28d-7e7d-4d9a-be23-838b1499c96f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_5124c267-2454-48f4-96c4-048490b416dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInDepositOtherAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInDepositOtherAssets_5124c267-2454-48f4-96c4-048490b416dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_fca51a84-6bc1-46e4-8106-528d267d4220" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_fca51a84-6bc1-46e4-8106-528d267d4220" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_8128aa7e-5b2a-440e-a993-6c0494d5d539" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_8128aa7e-5b2a-440e-a993-6c0494d5d539" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_2540a1f0-b94f-42d1-ae43-b52b47c00fac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_2540a1f0-b94f-42d1-ae43-b52b47c00fac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_bbfda35c-3587-45ca-b8be-ac257378fc47" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_a8f0d2d2-2495-4507-a456-532dd293be46" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_bbfda35c-3587-45ca-b8be-ac257378fc47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_38247844-e016-40c5-b811-a090b2ae2380" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3dd82a1a-4f21-4905-9222-061cccac0546" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities_38247844-e016-40c5-b811-a090b2ae2380" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1dbc2cd8-1437-4a10-a087-499b7bbcff05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_41b9dec6-c9e7-46ec-bdcc-81c8302ad6da" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1dbc2cd8-1437-4a10-a087-499b7bbcff05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1423d8b7-3e0c-4822-aa75-6f44a42e8afb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1423d8b7-3e0c-4822-aa75-6f44a42e8afb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2879cb75-900f-4b98-944f-1e5529bbf509" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1423d8b7-3e0c-4822-aa75-6f44a42e8afb" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2879cb75-900f-4b98-944f-1e5529bbf509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9ea1df4b-7c3f-4abc-a9ef-e35d1cd0fc24" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_1423d8b7-3e0c-4822-aa75-6f44a42e8afb" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_9ea1df4b-7c3f-4abc-a9ef-e35d1cd0fc24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_937ad20d-b984-4c14-8868-673cc61b5d0c" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromIssuanceOfCommonStockAndWarrants"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants_937ad20d-b984-4c14-8868-673cc61b5d0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises_2692d33c-7383-4a20-b4fe-82f73ea37fd5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_ProceedsFromWarrantExercises_2692d33c-7383-4a20-b4fe-82f73ea37fd5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_2c0f40bb-f03f-4c3c-90c6-178039161858" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_2c0f40bb-f03f-4c3c-90c6-178039161858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromPaycheckProtectionProgram_78b0b64c-102c-4233-8559-31524c770064" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromPaycheckProtectionProgram"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_efoi_ProceedsFromPaycheckProtectionProgram_78b0b64c-102c-4233-8559-31524c770064" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_453e8916-1a1d-4552-9233-e11056538ce0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_453e8916-1a1d-4552-9233-e11056538ce0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_c6f4d653-346a-4db1-b6fc-157f1accbfe5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_c6f4d653-346a-4db1-b6fc-157f1accbfe5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_4c6a83ec-93be-4b66-924c-a24edee8d5d2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_4c6a83ec-93be-4b66-924c-a24edee8d5d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts_1c7a8d44-1e34-4c6b-81f9-fb015fba7b76" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_PaymentsOfFinancingCosts_1c7a8d44-1e34-4c6b-81f9-fb015fba7b76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_62f4b3e0-2c9c-451a-bd0e-1e9d48437916" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_62f4b3e0-2c9c-451a-bd0e-1e9d48437916" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromNotesPayable_03eab5f2-9d92-4c22-a73a-3ca728948dc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromNotesPayable"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_ProceedsFromNotesPayable_03eab5f2-9d92-4c22-a73a-3ca728948dc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_ee4182b8-20d3-497b-9d45-a0c7c1994dd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromRepaymentsOfLinesOfCredit"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit_ee4182b8-20d3-497b-9d45-a0c7c1994dd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_894c0327-b66f-4f86-815c-72c016ce3dcc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_05729188-8c09-4b59-a228-2e2c8518d097" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_894c0327-b66f-4f86-815c-72c016ce3dcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d4d6f600-6e14-471a-b485-d3db896f3d29" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d4d6f600-6e14-471a-b485-d3db896f3d29" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2cc7935d-32db-4a2e-b7a8-7f56be7fdb27" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2cc7935d-32db-4a2e-b7a8-7f56be7fdb27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_60af5626-3389-4384-b2e5-906b14fb8a8e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_60af5626-3389-4384-b2e5-906b14fb8a8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_9d194ea3-3ec3-443a-ad0a-4cbe3b4d723d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_9d194ea3-3ec3-443a-ad0a-4cbe3b4d723d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_5750b8d5-73ec-4ab1-8ad0-a82b1b5808c2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_5750b8d5-73ec-4ab1-8ad0-a82b1b5808c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_270b90ff-219e-44c1-8826-263d6226ec6c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_9bc9cc1b-b292-4ab3-ba2f-b92e564b7e17" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_270b90ff-219e-44c1-8826-263d6226ec6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplementalCashFlowInformationAbstract_91b99f8c-3ea1-4360-af7d-d1095d4fa58e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_f722713e-195d-4c23-abeb-15435d0ccd2f" xlink:to="loc_us-gaap_SupplementalCashFlowInformationAbstract_91b99f8c-3ea1-4360-af7d-d1095d4fa58e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_268ba104-1b71-40c4-ba03-532433d9de9f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_91b99f8c-3ea1-4360-af7d-d1095d4fa58e" xlink:to="loc_us-gaap_InterestPaidNet_268ba104-1b71-40c4-ba03-532433d9de9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaid_221f3523-6cb2-4b28-9b38-1270f4a98ebe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaid"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SupplementalCashFlowInformationAbstract_91b99f8c-3ea1-4360-af7d-d1095d4fa58e" xlink:to="loc_us-gaap_IncomeTaxesPaid_221f3523-6cb2-4b28-9b38-1270f4a98ebe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/NatureofOperations" xlink:type="simple" xlink:href="efoi-20211231.xsd#NatureofOperations"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/NatureofOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_73676df2-2c23-41d8-9774-3be5dab072d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NatureOfOperations_97357f0e-fc3c-45cd-b01b-e1eaa0ce6872" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NatureOfOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_73676df2-2c23-41d8-9774-3be5dab072d0" xlink:to="loc_us-gaap_NatureOfOperations_97357f0e-fc3c-45cd-b01b-e1eaa0ce6872" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/NatureofOperationsNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#NatureofOperationsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/NatureofOperationsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_81da51ca-2b47-40c2-abd5-4be1a193a661" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_3e9a5e12-0e41-468e-a99b-3d087914b358" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_81da51ca-2b47-40c2-abd5-4be1a193a661" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_3e9a5e12-0e41-468e-a99b-3d087914b358" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_91161d16-d5af-4bbf-a050-c18bed4bce7c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_81da51ca-2b47-40c2-abd5-4be1a193a661" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_91161d16-d5af-4bbf-a050-c18bed4bce7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_eecbdfd1-4c48-4b0f-96c1-816e6ed9eb5d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_2186738d-3095-4a80-b34f-1b00e6b4bdad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_eecbdfd1-4c48-4b0f-96c1-816e6ed9eb5d" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_2186738d-3095-4a80-b34f-1b00e6b4bdad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_c0ea3d0f-6fd6-452d-909b-73befb2bb08f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_UseOfEstimates_c0ea3d0f-6fd6-452d-909b-73befb2bb08f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_daf65cd5-9b2a-40b8-b6ec-e70038079a26" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_BasisOfAccountingPolicyPolicyTextBlock_daf65cd5-9b2a-40b8-b6ec-e70038079a26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_236ce741-c46d-4cd0-a652-dd4671f68c47" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_236ce741-c46d-4cd0-a652-dd4671f68c47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_9beb3796-74f7-445e-9c72-cdd9ed3e3685" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_9beb3796-74f7-445e-9c72-cdd9ed3e3685" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryPolicyTextBlock_8cdf4c76-cad7-4d0c-a4fd-8a3ae58d3f5a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_InventoryPolicyTextBlock_8cdf4c76-cad7-4d0c-a4fd-8a3ae58d3f5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_35ae4d52-d9d3-44f1-b8e8-7d7bb8a76a40" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_35ae4d52-d9d3-44f1-b8e8-7d7bb8a76a40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_7b7cbe7e-eace-4d30-8d00-45e82ebcda7e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_7b7cbe7e-eace-4d30-8d00-45e82ebcda7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_e8dfd429-fe93-488b-aaca-c36d947f6952" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_FairValueMeasurementPolicyPolicyTextBlock_e8dfd429-fe93-488b-aaca-c36d947f6952" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LongLivedAssetsPolicyPolicyTextBlock_5af28334-1283-4a9d-9759-463571e998dd" xlink:href="efoi-20211231.xsd#efoi_LongLivedAssetsPolicyPolicyTextBlock"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_efoi_LongLivedAssetsPolicyPolicyTextBlock_5af28334-1283-4a9d-9759-463571e998dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskCreditRisk_ab392439-b859-4986-b44a-3e1097f671db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_ConcentrationRiskCreditRisk_ab392439-b859-4986-b44a-3e1097f671db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpensePolicy_6bd542a3-49eb-4bde-a903-23c5e6e1c7dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpensePolicy_6bd542a3-49eb-4bde-a903-23c5e6e1c7dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_e7f051f4-6240-4006-ab23-5377452a4439" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_e7f051f4-6240-4006-ab23-5377452a4439" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_1aa93475-efbc-45d3-8756-e22a4426d6bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_1aa93475-efbc-45d3-8756-e22a4426d6bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock_d22c0e5f-89bf-4b34-9e27-7aaca62c486f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_AdvertisingCostsPolicyTextBlock_d22c0e5f-89bf-4b34-9e27-7aaca62c486f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyPolicy_fb921e9d-4932-416b-9383-c0e851e05816" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyPolicy"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_StandardProductWarrantyPolicy_fb921e9d-4932-416b-9383-c0e851e05816" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_8f8caa60-5d24-4670-aef4-0283a4449725" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_bd54005b-4e87-4e6f-abd5-2978b7da09e4" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_8f8caa60-5d24-4670-aef4-0283a4449725" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_49b1c8c8-7679-4452-bbc4-d34ff76e6d5d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_a2edda8a-df55-4b74-bac2-a9b3e9992af2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_49b1c8c8-7679-4452-bbc4-d34ff76e6d5d" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_a2edda8a-df55-4b74-bac2-a9b3e9992af2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_0098f260-ac2c-4a5e-a2f4-9beb846782a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_49b1c8c8-7679-4452-bbc4-d34ff76e6d5d" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_0098f260-ac2c-4a5e-a2f4-9beb846782a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8e9f2e91-86b8-46d2-a4ce-32d4f888ca67" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_49b1c8c8-7679-4452-bbc4-d34ff76e6d5d" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8e9f2e91-86b8-46d2-a4ce-32d4f888ca67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_f763eb1c-f107-4522-b5bc-c69f4a751613" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_dd84f2e8-c00e-4e74-b159-871e808a2ac9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f763eb1c-f107-4522-b5bc-c69f4a751613" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_dd84f2e8-c00e-4e74-b159-871e808a2ac9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e85f23a9-8345-4a07-afe0-ae5259780f23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f763eb1c-f107-4522-b5bc-c69f4a751613" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e85f23a9-8345-4a07-afe0-ae5259780f23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_3bcce674-d904-4462-8bea-d33d2c8d5fe5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f763eb1c-f107-4522-b5bc-c69f4a751613" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_3bcce674-d904-4462-8bea-d33d2c8d5fe5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesInventoriesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesInventoriesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesInventoriesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_1e47fd1a-b054-48cb-be11-540b3c7caa04" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInInventoryLevelsGross_21b2fd07-85ee-493b-8c2c-c2b418d613e1" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInInventoryLevelsGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_1e47fd1a-b054-48cb-be11-540b3c7caa04" xlink:to="loc_efoi_IncreaseDecreaseInInventoryLevelsGross_21b2fd07-85ee-493b-8c2c-c2b418d613e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInInventoryReserves_872eb720-63c0-4ad5-81a8-bed1aed94feb" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInInventoryReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_1e47fd1a-b054-48cb-be11-540b3c7caa04" xlink:to="loc_efoi_IncreaseDecreaseInInventoryReserves_872eb720-63c0-4ad5-81a8-bed1aed94feb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAccountsReceivableDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesAccountsReceivableDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAccountsReceivableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_e34798be-cf10-44c2-b416-3df8fd1a8313" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ContractWithCustomerPaymentTerms_47faf77a-5675-42ad-8054-ad8352be2ddd" xlink:href="efoi-20211231.xsd#efoi_ContractWithCustomerPaymentTerms"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_e34798be-cf10-44c2-b416-3df8fd1a8313" xlink:to="loc_efoi_ContractWithCustomerPaymentTerms_47faf77a-5675-42ad-8054-ad8352be2ddd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_4815a1fe-7da6-44f5-a796-84a4131d78a6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockByClassTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_4815a1fe-7da6-44f5-a796-84a4131d78a6" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_fbea75c4-f1dd-40c2-8d22-a987454d01f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_fbea75c4-f1dd-40c2-8d22-a987454d01f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_fbea75c4-f1dd-40c2-8d22-a987454d01f9" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_8608a1a5-1f26-4db9-a5fb-266d9b6d9799" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:to="loc_efoi_December2021PrivatePlacementMember_8608a1a5-1f26-4db9-a5fb-266d9b6d9799" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_82717c88-35ac-4758-af7d-c8bc5158f4a8" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:to="loc_efoi_InstitutionalInvestorMember_82717c88-35ac-4758-af7d-c8bc5158f4a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_82660837-e417-4dd2-9bd4-87b8b8359075" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1c092aa2-fe93-49bc-947f-6ecdd8f9196d" xlink:to="loc_efoi_January2020EquityOfferingMember_82660837-e417-4dd2-9bd4-87b8b8359075" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember_68c1db9e-9b72-4cb8-938f-10cfcd4642d4" xlink:href="efoi-20211231.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_January2020EquityOfferingMember_82660837-e417-4dd2-9bd4-87b8b8359075" xlink:to="loc_efoi_January2020InstitutionalInvestorMember_68c1db9e-9b72-4cb8-938f-10cfcd4642d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember_487c50b7-e8bc-4fe1-a822-551f7e8bf65f" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_January2020EquityOfferingMember_82660837-e417-4dd2-9bd4-87b8b8359075" xlink:to="loc_efoi_January2020EquityOfferingPrivatePlacementMember_487c50b7-e8bc-4fe1-a822-551f7e8bf65f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_2b8db789-7391-4d08-a89e-914c45c0a1fe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_2b8db789-7391-4d08-a89e-914c45c0a1fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_5d9e510a-ee12-4657-ab17-ab79e04870bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_2b8db789-7391-4d08-a89e-914c45c0a1fe" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_5d9e510a-ee12-4657-ab17-ab79e04870bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_e5ee2b38-6841-41e3-a916-7ce431041547" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_5d9e510a-ee12-4657-ab17-ab79e04870bd" xlink:to="loc_efoi_PreFundedWarrantsMember_e5ee2b38-6841-41e3-a916-7ce431041547" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_8f995955-0628-4931-a91f-be5379b6756c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_5d9e510a-ee12-4657-ab17-ab79e04870bd" xlink:to="loc_us-gaap_WarrantMember_8f995955-0628-4931-a91f-be5379b6756c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_45a54429-f0f4-4641-8b60-0e9183a272ff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:to="loc_us-gaap_DebtInstrumentAxis_45a54429-f0f4-4641-8b60-0e9183a272ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_670e90d3-f267-469d-b3e7-fc7a4b5d43c4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_45a54429-f0f4-4641-8b60-0e9183a272ff" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_670e90d3-f267-469d-b3e7-fc7a4b5d43c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IliadNotePurchaseAgreementMember_0fe70a4b-808d-4fd8-88c9-c5b5847b168c" xlink:href="efoi-20211231.xsd#efoi_IliadNotePurchaseAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_670e90d3-f267-469d-b3e7-fc7a4b5d43c4" xlink:to="loc_efoi_IliadNotePurchaseAgreementMember_0fe70a4b-808d-4fd8-88c9-c5b5847b168c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_8b6ccd85-9bc3-4f58-9fcb-a1e5a8f345e0" xlink:to="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_b29cdce9-afd8-4af7-925e-93564814981c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_b29cdce9-afd8-4af7-925e-93564814981c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_a9775484-7ef8-4043-b857-53614a2e8b28" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_a9775484-7ef8-4043-b857-53614a2e8b28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_0487be75-b5fc-4961-98bd-ebb423fa33af" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_0487be75-b5fc-4961-98bd-ebb423fa33af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_fac32e1b-8b90-4c20-9bed-5f1121d2c745" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_fac32e1b-8b90-4c20-9bed-5f1121d2c745" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_eaaf5522-d86d-4481-937f-7c0f160839c2" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_eaaf5522-d86d-4481-937f-7c0f160839c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_71f657e2-b355-42ec-a9f0-8d0b6cf6e278" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_71f657e2-b355-42ec-a9f0-8d0b6cf6e278" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_b65335ff-5b3f-41a2-aa65-977ed034da76" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_b65335ff-5b3f-41a2-aa65-977ed034da76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_cbb7bff0-8bc9-4326-b13f-6d76b15b4dd0" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_PaymentsForClearingFees_cbb7bff0-8bc9-4326-b13f-6d76b15b4dd0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_db294268-316f-481f-a1b9-8013c6b6d7f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_db294268-316f-481f-a1b9-8013c6b6d7f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_e5da6ff2-f6a0-43f4-8dca-a50a669ccb04" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_e5da6ff2-f6a0-43f4-8dca-a50a669ccb04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_9d6884d9-a9c1-491e-8a1c-87a4af01d135" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_9d6884d9-a9c1-491e-8a1c-87a4af01d135" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_47540b18-ba20-442c-960e-3c5fdd1c69ef" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentProceedsToBePaidToLenderPercent"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_47540b18-ba20-442c-960e-3c5fdd1c69ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_3ef7112c-8f00-4418-94af-edc54e3fc500" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_3ef7112c-8f00-4418-94af-edc54e3fc500" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_d07c454a-cb98-47a0-907d-973990514cd3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_d07c454a-cb98-47a0-907d-973990514cd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_4cb15de2-da74-4760-bca6-64ca55f40502" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_4cb15de2-da74-4760-bca6-64ca55f40502" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_ea39d639-f87b-408f-82b6-7bc6646de50c" xlink:href="efoi-20211231.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_ea39d639-f87b-408f-82b6-7bc6646de50c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises_7d4b2ed1-0bfd-4700-8b6a-685bef92333c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_aa2bed00-c511-4c35-ad4e-965df54de02a" xlink:to="loc_us-gaap_ProceedsFromWarrantExercises_7d4b2ed1-0bfd-4700-8b6a-685bef92333c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_9235fd57-beec-4167-961b-2f7d05f9bfe4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByBalanceSheetGroupingTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9235fd57-beec-4167-961b-2f7d05f9bfe4" xlink:to="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_9b526662-99c4-4fca-85cc-8d0b1dc1cae2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_b0bcbcc9-7df3-4fe1-ac09-f59ddd29389d" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_9b526662-99c4-4fca-85cc-8d0b1dc1cae2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_6f5ceaae-f17c-467b-a673-581f666c7426" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_9b526662-99c4-4fca-85cc-8d0b1dc1cae2" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_6f5ceaae-f17c-467b-a673-581f666c7426" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2cdaa141-45b0-40fa-b7c2-90fff6f78652" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2cdaa141-45b0-40fa-b7c2-90fff6f78652" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_23663444-8f39-49e3-a5ca-64bae47df339" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2cdaa141-45b0-40fa-b7c2-90fff6f78652" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_23663444-8f39-49e3-a5ca-64bae47df339" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_9760f4a1-3f6b-463f-93b1-e8c8cf814425" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_23663444-8f39-49e3-a5ca-64bae47df339" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_9760f4a1-3f6b-463f-93b1-e8c8cf814425" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e1d52704-7343-4b2f-94c6-a2e375470cfa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByBalanceSheetGroupingTable_87f8c450-4117-43e8-9141-79041b37e6a9" xlink:to="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e1d52704-7343-4b2f-94c6-a2e375470cfa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems_e1d52704-7343-4b2f-94c6-a2e375470cfa" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_a5a68fa4-7651-4e49-88b1-ba9eb51e9747" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_a5a68fa4-7651-4e49-88b1-ba9eb51e9747" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_f4e58bdd-118c-4b1b-8502-fc20320318d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues_f4e58bdd-118c-4b1b-8502-fc20320318d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_77a2c275-79c7-4147-b700-c412b3a31b47" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_77a2c275-79c7-4147-b700-c412b3a31b47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueAdjustmentOfWarrants_1c4533db-f2e0-4ed5-8f11-aaeb446edc51" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAdjustmentOfWarrants"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_FairValueAdjustmentOfWarrants_1c4533db-f2e0-4ed5-8f11-aaeb446edc51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_a6dc5cb5-e5e6-481d-99a9-0d5a8a482724" xlink:href="efoi-20211231.xsd#efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_a6dc5cb5-e5e6-481d-99a9-0d5a8a482724" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_511c4a6b-f6eb-4ea1-82cc-121bbc0ac871" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_9a2a5dc4-9093-4594-bb42-bf65095b99da" xlink:to="loc_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent_511c4a6b-f6eb-4ea1-82cc-121bbc0ac871" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_72f9b8c0-a831-4792-aad9-c764c05ecd20" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_76c652b3-0d40-4ea3-8ed5-a7581bb94472" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72f9b8c0-a831-4792-aad9-c764c05ecd20" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_76c652b3-0d40-4ea3-8ed5-a7581bb94472" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_c3c772ab-d0cf-44da-aa9a-1be6379454ec" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_76c652b3-0d40-4ea3-8ed5-a7581bb94472" xlink:to="loc_srt_RangeAxis_c3c772ab-d0cf-44da-aa9a-1be6379454ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_38cc3322-88a5-4911-b735-bbae69b7cbc5" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_c3c772ab-d0cf-44da-aa9a-1be6379454ec" xlink:to="loc_srt_RangeMember_38cc3322-88a5-4911-b735-bbae69b7cbc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_34f5e95d-b4f4-467b-b772-22d5a979ee2e" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_38cc3322-88a5-4911-b735-bbae69b7cbc5" xlink:to="loc_srt_MinimumMember_34f5e95d-b4f4-467b-b772-22d5a979ee2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_b4bd8098-8445-4028-a15b-df59e6334e3a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_38cc3322-88a5-4911-b735-bbae69b7cbc5" xlink:to="loc_srt_MaximumMember_b4bd8098-8445-4028-a15b-df59e6334e3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_788efe2b-fd64-4002-a10c-424b32524964" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_76c652b3-0d40-4ea3-8ed5-a7581bb94472" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_788efe2b-fd64-4002-a10c-424b32524964" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_8c7b7ecc-f12d-4be7-9d84-bbdfcca7951a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_788efe2b-fd64-4002-a10c-424b32524964" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_8c7b7ecc-f12d-4be7-9d84-bbdfcca7951a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_918a17b3-4473-4f41-8f35-c3c334c7e87e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_918a17b3-4473-4f41-8f35-c3c334c7e87e" xlink:to="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_67953255-406f-4640-8197-7d7951385cd7" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_srt_MajorCustomersAxis_67953255-406f-4640-8197-7d7951385cd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_67953255-406f-4640-8197-7d7951385cd7" xlink:to="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TwoCustomersMember_b6a6bf1a-2a7c-498a-8fcb-27207f798cdb" xlink:href="efoi-20211231.xsd#efoi_TwoCustomersMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_TwoCustomersMember_b6a6bf1a-2a7c-498a-8fcb-27207f798cdb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheU.S.NavyMember_0a4ea93f-da41-491e-aa46-09d51e019fee" xlink:href="efoi-20211231.xsd#efoi_DistributorToTheU.S.NavyMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_DistributorToTheU.S.NavyMember_0a4ea93f-da41-491e-aa46-09d51e019fee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RegionalCommercialLightingRetrofitCompanyMember_32c5310b-b177-42e3-80c7-6ea63565bed9" xlink:href="efoi-20211231.xsd#efoi_RegionalCommercialLightingRetrofitCompanyMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_RegionalCommercialLightingRetrofitCompanyMember_32c5310b-b177-42e3-80c7-6ea63565bed9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_8ed0c64c-3680-4b9f-874e-7854ca5fc742" xlink:href="efoi-20211231.xsd#efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember_8ed0c64c-3680-4b9f-874e-7854ca5fc742" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember_bd00b955-7d5b-4ea5-a81a-bb6af48f1a70" xlink:href="efoi-20211231.xsd#efoi_DistributorToTheUSDepartmentOfDefenseMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_DistributorToTheUSDepartmentOfDefenseMember_bd00b955-7d5b-4ea5-a81a-bb6af48f1a70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ShipbuilderForUSNavyMember_58fee915-6b04-499d-8f8b-28f18c6f1828" xlink:href="efoi-20211231.xsd#efoi_ShipbuilderForUSNavyMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_efc63b49-ecd0-4348-b1d0-6aa7f7eb2929" xlink:to="loc_efoi_ShipbuilderForUSNavyMember_58fee915-6b04-499d-8f8b-28f18c6f1828" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_13703416-4293-46da-bbe2-2af81bcf7cc3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_13703416-4293-46da-bbe2-2af81bcf7cc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_13703416-4293-46da-bbe2-2af81bcf7cc3" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_b844d441-3f86-43e3-bac2-5876d12c0155" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:to="loc_us-gaap_AccountsReceivableMember_b844d441-3f86-43e3-bac2-5876d12c0155" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_c4fbd4d6-7090-4b08-85af-2c78223559d9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:to="loc_us-gaap_SalesRevenueNetMember_c4fbd4d6-7090-4b08-85af-2c78223559d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_TotalExpendituresMember_7953fb5f-f33c-45ea-aed8-dc2d01f86f59" xlink:href="efoi-20211231.xsd#efoi_TotalExpendituresMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:to="loc_efoi_TotalExpendituresMember_7953fb5f-f33c-45ea-aed8-dc2d01f86f59" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableMember_a3e5fc84-8827-4662-8064-6598a337e94a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_aac7a2c8-95b1-4c5e-bf45-7c63d9194df3" xlink:to="loc_us-gaap_AccountsPayableMember_a3e5fc84-8827-4662-8064-6598a337e94a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_a9f0e236-788f-46f9-9c2d-e1027aeb0672" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_a9f0e236-788f-46f9-9c2d-e1027aeb0672" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_482e0a41-b28c-4d60-b36e-8552f4c8fab4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_a9f0e236-788f-46f9-9c2d-e1027aeb0672" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_482e0a41-b28c-4d60-b36e-8552f4c8fab4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_69b3ef0f-dd3b-483a-9892-5d6cbce48753" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_482e0a41-b28c-4d60-b36e-8552f4c8fab4" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_69b3ef0f-dd3b-483a-9892-5d6cbce48753" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SupplierConcentrationRiskMember_7c86febb-7e12-496c-a8e9-b9a3ea24ca7b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplierConcentrationRiskMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_482e0a41-b28c-4d60-b36e-8552f4c8fab4" xlink:to="loc_us-gaap_SupplierConcentrationRiskMember_7c86febb-7e12-496c-a8e9-b9a3ea24ca7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_14ab3abe-44ce-4953-b455-945ae366ecb8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_14ab3abe-44ce-4953-b455-945ae366ecb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_bde1622c-c780-4233-bf5c-5abd918cd160" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_14ab3abe-44ce-4953-b455-945ae366ecb8" xlink:to="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_bde1622c-c780-4233-bf5c-5abd918cd160" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OffshoreSupplierMember_a2b6540e-27a6-439d-b4ed-fe7fa6f8aae7" xlink:href="efoi-20211231.xsd#efoi_OffshoreSupplierMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_bde1622c-c780-4233-bf5c-5abd918cd160" xlink:to="loc_efoi_OffshoreSupplierMember_a2b6540e-27a6-439d-b4ed-fe7fa6f8aae7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DomesticSupplierMember_24a1858f-8a57-4756-9403-30970568d96d" xlink:href="efoi-20211231.xsd#efoi_DomesticSupplierMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_bde1622c-c780-4233-bf5c-5abd918cd160" xlink:to="loc_efoi_DomesticSupplierMember_24a1858f-8a57-4756-9403-30970568d96d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_027c9994-c67a-4724-981a-965864fe0451" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_b4d37665-b0bf-426a-96d6-c679622af9fb" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_027c9994-c67a-4724-981a-965864fe0451" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_934ae0a7-7ce3-4d00-b68b-4f7868e8983e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_027c9994-c67a-4724-981a-965864fe0451" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_934ae0a7-7ce3-4d00-b68b-4f7868e8983e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Supplies_8809f9de-e657-44e7-a8fb-d4aae2951fa1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Supplies"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_027c9994-c67a-4724-981a-965864fe0451" xlink:to="loc_us-gaap_Supplies_8809f9de-e657-44e7-a8fb-d4aae2951fa1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_6aa6ac5e-8a4f-4510-8479-856ef1c4ae7e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_f221390a-0b04-4c14-b376-77f6fdc2dbec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_6aa6ac5e-8a4f-4510-8479-856ef1c4ae7e" xlink:to="loc_us-gaap_EarningsPerShareAbstract_f221390a-0b04-4c14-b376-77f6fdc2dbec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_0aff15b7-b141-4628-ade3-9f3f4c95860e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_f221390a-0b04-4c14-b376-77f6fdc2dbec" xlink:to="loc_us-gaap_NetIncomeLoss_0aff15b7-b141-4628-ade3-9f3f4c95860e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_a1b677e4-2df8-43e9-a09e-0b9ebe1cc6f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_6aa6ac5e-8a4f-4510-8479-856ef1c4ae7e" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_a1b677e4-2df8-43e9-a09e-0b9ebe1cc6f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_25cf403e-24cb-4524-9b8a-48348eec6023" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_a1b677e4-2df8-43e9-a09e-0b9ebe1cc6f9" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_25cf403e-24cb-4524-9b8a-48348eec6023" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_b742019b-9b3b-4049-838f-57c281e1ed0a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_a1b677e4-2df8-43e9-a09e-0b9ebe1cc6f9" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_b742019b-9b3b-4049-838f-57c281e1ed0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_ea9fcb26-e718-4acc-a232-150521a23ba6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_ea9fcb26-e718-4acc-a232-150521a23ba6" xlink:to="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_c93c9a43-bcd8-40bd-a01e-62aebee5a83e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:to="loc_us-gaap_AwardTypeAxis_c93c9a43-bcd8-40bd-a01e-62aebee5a83e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_c93c9a43-bcd8-40bd-a01e-62aebee5a83e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockOptionMember_d43748de-79c5-45fd-8a06-779b3593d454" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:to="loc_us-gaap_StockOptionMember_d43748de-79c5-45fd-8a06-779b3593d454" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_01d05491-2fd1-466c-ab96-186e5a6eb4ee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_01d05491-2fd1-466c-ab96-186e5a6eb4ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_514e0db5-71ce-4a5f-8c8a-f54391466229" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:to="loc_us-gaap_WarrantMember_514e0db5-71ce-4a5f-8c8a-f54391466229" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_a0928cab-1345-4190-9991-06d96583d566" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_77d9ded3-e90a-47b1-94c6-1e7b5a826d90" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_a0928cab-1345-4190-9991-06d96583d566" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_0f0ce230-af6f-44bc-ba79-4d762105af3b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_0f0ce230-af6f-44bc-ba79-4d762105af3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_6bb08da0-9f64-46ae-9921-74248a2ead41" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_0f0ce230-af6f-44bc-ba79-4d762105af3b" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_6bb08da0-9f64-46ae-9921-74248a2ead41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_e84ce93a-1be1-4ff0-926b-8a3e5a737216" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_6bb08da0-9f64-46ae-9921-74248a2ead41" xlink:to="loc_efoi_PreFundedWarrantsMember_e84ce93a-1be1-4ff0-926b-8a3e5a737216" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_30180b43-db02-427b-9c74-9ae602f837fa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_30180b43-db02-427b-9c74-9ae602f837fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_522046ce-7969-4661-b199-10f88e417465" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_30180b43-db02-427b-9c74-9ae602f837fa" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_522046ce-7969-4661-b199-10f88e417465" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_3cac0deb-dbc3-4b2b-ae0f-5ba1d06c212c" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_522046ce-7969-4661-b199-10f88e417465" xlink:to="loc_efoi_December2021PrivatePlacementMember_3cac0deb-dbc3-4b2b-ae0f-5ba1d06c212c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_26caca13-6f4a-4a21-a59d-c361959631a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareTable_2b3f92e8-aa6c-43c4-b178-0379c5d1c724" xlink:to="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_26caca13-6f4a-4a21-a59d-c361959631a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_e1b7e20f-11c8-4824-a633-01987ca7caf3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_26caca13-6f4a-4a21-a59d-c361959631a3" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_e1b7e20f-11c8-4824-a633-01987ca7caf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_8c5b604d-40a4-4b12-8815-600e46310897" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_26caca13-6f4a-4a21-a59d-c361959631a3" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_8c5b604d-40a4-4b12-8815-600e46310897" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpensesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesAdvertisingExpensesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_60ef70ca-4828-49c0-9f8f-7ca89ed9b725" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense_bf3d35f2-74b5-4980-8c27-b4c8f8136da7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdvertisingExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_60ef70ca-4828-49c0-9f8f-7ca89ed9b725" xlink:to="loc_us-gaap_AdvertisingExpense_bf3d35f2-74b5-4980-8c27-b4c8f8136da7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_1cd1b04c-7669-46b9-9c9d-4ba5a7dbbd07" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_1cd1b04c-7669-46b9-9c9d-4ba5a7dbbd07" xlink:to="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_db21fb2b-79b4-4de4-b5b5-a57f9197a68e" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:to="loc_srt_RangeAxis_db21fb2b-79b4-4de4-b5b5-a57f9197a68e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_71252cc8-8f88-4e52-9f29-935240f7cfe1" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_db21fb2b-79b4-4de4-b5b5-a57f9197a68e" xlink:to="loc_srt_RangeMember_71252cc8-8f88-4e52-9f29-935240f7cfe1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_c1015b7c-6747-4a95-acec-093ac89d4feb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_71252cc8-8f88-4e52-9f29-935240f7cfe1" xlink:to="loc_srt_MinimumMember_c1015b7c-6747-4a95-acec-093ac89d4feb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_8fffba98-f50c-4d04-ada1-ae875bfc1729" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_71252cc8-8f88-4e52-9f29-935240f7cfe1" xlink:to="loc_srt_MaximumMember_8fffba98-f50c-4d04-ada1-ae875bfc1729" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_f9d0f5ac-a41e-44d5-9480-69ec84328bcc" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:to="loc_srt_ProductOrServiceAxis_f9d0f5ac-a41e-44d5-9480-69ec84328bcc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_f9d0f5ac-a41e-44d5-9480-69ec84328bcc" xlink:to="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommercialProductsMember_a9e266d8-641f-4813-8281-2dd864fc043a" xlink:href="efoi-20211231.xsd#efoi_CommercialProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:to="loc_efoi_CommercialProductsMember_a9e266d8-641f-4813-8281-2dd864fc043a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_MMMLEDProductsMember_1b27efc1-88dd-4214-876c-68ff9839e083" xlink:href="efoi-20211231.xsd#efoi_MMMLEDProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:to="loc_efoi_MMMLEDProductsMember_1b27efc1-88dd-4214-876c-68ff9839e083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_UVCDProductsMember_b567900a-fa63-4808-9c75-2c975c4daeb0" xlink:href="efoi-20211231.xsd#efoi_UVCDProductsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_07c11840-934a-4316-b9b9-e59fee2caca3" xlink:to="loc_efoi_UVCDProductsMember_b567900a-fa63-4808-9c75-2c975c4daeb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyLiabilityLineItems_fb75d6f6-caa6-452f-b286-04777683f281" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityTable_b029e9fa-b6f2-4beb-b5bf-0cfc3ed5c8a8" xlink:to="loc_us-gaap_ProductWarrantyLiabilityLineItems_fb75d6f6-caa6-452f-b286-04777683f281" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StandardProductWarrantyNumberofYears_bdf5742e-ed03-405a-a1ca-fc81b963f5b0" xlink:href="efoi-20211231.xsd#efoi_StandardProductWarrantyNumberofYears"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantyLiabilityLineItems_fb75d6f6-caa6-452f-b286-04777683f281" xlink:to="loc_efoi_StandardProductWarrantyNumberofYears_bdf5742e-ed03-405a-a1ca-fc81b963f5b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_0630b26c-9237-4992-81e3-d955f950586b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5131d3e9-888a-4927-9eb7-fb63286f1135" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_0630b26c-9237-4992-81e3-d955f950586b" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5131d3e9-888a-4927-9eb7-fb63286f1135" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_6c4213f2-0820-4c2a-b3cc-1c2f99807e23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5131d3e9-888a-4927-9eb7-fb63286f1135" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_6c4213f2-0820-4c2a-b3cc-1c2f99807e23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_f790e99b-7a67-4d7a-b079-454c2c99f757" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualWarrantiesIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5131d3e9-888a-4927-9eb7-fb63286f1135" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued_f790e99b-7a67-4d7a-b079-454c2c99f757" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_50d7ee89-1d6b-44c3-b777-de4fff9832e6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5131d3e9-888a-4927-9eb7-fb63286f1135" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_50d7ee89-1d6b-44c3-b777-de4fff9832e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualPayments_d5ba0147-9d1d-4a10-8b30-771f34032d28" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPayments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5131d3e9-888a-4927-9eb7-fb63286f1135" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualPayments_d5ba0147-9d1d-4a10-8b30-771f34032d28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandardProductWarrantyAccrualCurrent_78c5b9cb-68f7-48e7-ac41-ccf856c80cea" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyAccrualCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5131d3e9-888a-4927-9eb7-fb63286f1135" xlink:to="loc_us-gaap_StandardProductWarrantyAccrualCurrent_78c5b9cb-68f7-48e7-ac41-ccf856c80cea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/Restructuring" xlink:type="simple" xlink:href="efoi-20211231.xsd#Restructuring"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/Restructuring" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_725f6649-e2ab-4683-aee3-b07f71c1a736" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_dbdb0b43-0f08-40c8-976f-96a44d423ea5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_725f6649-e2ab-4683-aee3-b07f71c1a736" xlink:to="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_dbdb0b43-0f08-40c8-976f-96a44d423ea5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RestructuringRestructuringTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#RestructuringRestructuringTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/RestructuringRestructuringTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_66a4c2c6-8213-44dd-a003-9a6c6ce25375" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_0052885b-7cb0-44b0-bf55-b1348ad2005e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_66a4c2c6-8213-44dd-a003-9a6c6ce25375" xlink:to="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_0052885b-7cb0-44b0-bf55-b1348ad2005e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RestructuringNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#RestructuringNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/RestructuringNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_8178bb9d-89bb-43a5-8be9-5093e120d811" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f91ad246-7427-4611-9b24-edcd7f10e151" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_8178bb9d-89bb-43a5-8be9-5093e120d811" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f91ad246-7427-4611-9b24-edcd7f10e151" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_e5b000df-8965-40ab-afca-ab0874c71bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f91ad246-7427-4611-9b24-edcd7f10e151" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_e5b000df-8965-40ab-afca-ab0874c71bc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_e5b000df-8965-40ab-afca-ab0874c71bc5" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_94e1d825-844c-4eea-8cc7-670e2818621f" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:to="loc_efoi_December2021PrivatePlacementMember_94e1d825-844c-4eea-8cc7-670e2818621f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_1a12aaee-c8c2-49b1-adda-53a2622a9c99" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:to="loc_efoi_InstitutionalInvestorMember_1a12aaee-c8c2-49b1-adda-53a2622a9c99" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_2dd8a653-9be9-430b-8c22-23442519edbc" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_dfe19f37-e0e9-41bc-973a-139c62727543" xlink:to="loc_efoi_January2020EquityOfferingMember_2dd8a653-9be9-430b-8c22-23442519edbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_f91ad246-7427-4611-9b24-edcd7f10e151" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_082e02b6-6648-4539-848a-1b3e64384ec9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_NetIncomeLoss_082e02b6-6648-4539-848a-1b3e64384ec9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_fbec5264-6c87-4c3a-ab1e-6033cfde1b67" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_fbec5264-6c87-4c3a-ab1e-6033cfde1b67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCosts_a7888d6d-f70c-4fbc-9ab8-b2929cb4a31c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_RestructuringCosts_a7888d6d-f70c-4fbc-9ab8-b2929cb4a31c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_34ff6a2a-4310-4ae1-858e-a22206cb7702" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_34ff6a2a-4310-4ae1-858e-a22206cb7702" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt_4fb0497e-30e6-4606-b3f1-ef321212d4ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfDebt_4fb0497e-30e6-4606-b3f1-ef321212d4ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentNumberOfCreditFacilities_ce9caf00-d3b7-49b0-bda2-ae11ca2b399a" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentNumberOfCreditFacilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_efoi_DebtInstrumentNumberOfCreditFacilities_ce9caf00-d3b7-49b0-bda2-ae11ca2b399a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_c6db6a2f-685e-45ba-96a6-d1bc784c32fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_us-gaap_StockholdersEquity_c6db6a2f-685e-45ba-96a6-d1bc784c32fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_17e59ce2-43ff-458a-a64c-dfa2b2735f5f" xlink:href="efoi-20211231.xsd#efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_d2d182f7-a115-4397-b607-2cf6ebf4a193" xlink:to="loc_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified_17e59ce2-43ff-458a-a64c-dfa2b2735f5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#RestructuringReconciliationofRestructuringLiabilityDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_99f52755-c6bd-4ae4-88e7-426d29f7a21d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_39c3a9a2-1a3f-45f3-b544-74407bb2d66d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_99f52755-c6bd-4ae4-88e7-426d29f7a21d" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_39c3a9a2-1a3f-45f3-b544-74407bb2d66d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_39c3a9a2-1a3f-45f3-b544-74407bb2d66d" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_3c96dd9b-7528-4c87-9c51-91ab5bab73d1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_d1f1e902-8a9e-4615-9351-6fe2d75d6c4b" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_3c96dd9b-7528-4c87-9c51-91ab5bab73d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FacilityClosingMember_0d4d0b14-683a-4eb2-9cea-1873b309d255" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FacilityClosingMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_3c96dd9b-7528-4c87-9c51-91ab5bab73d1" xlink:to="loc_us-gaap_FacilityClosingMember_0d4d0b14-683a-4eb2-9cea-1873b309d255" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_39c3a9a2-1a3f-45f3-b544-74407bb2d66d" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:to="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_663f0f04-3139-4969-8b88-4accfd2f746e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:to="loc_us-gaap_RestructuringReserve_663f0f04-3139-4969-8b88-4accfd2f746e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuringReserveAccretion_036c327c-ed34-4618-aa0f-8e491bb65fe1" xlink:href="efoi-20211231.xsd#efoi_RestructuringReserveAccretion"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:to="loc_efoi_RestructuringReserveAccretion_036c327c-ed34-4618-aa0f-8e491bb65fe1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_ad7f4268-d94a-4d6b-8620-334aacafc5a4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:to="loc_us-gaap_PaymentsForRestructuring_ad7f4268-d94a-4d6b-8620-334aacafc5a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_7fe5d2f7-fe46-4935-a39f-7e8ceb3d2915" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_e5200464-4cd9-4f1e-bced-2e4b9fc06f69" xlink:to="loc_us-gaap_RestructuringReserve_7fe5d2f7-fe46-4935-a39f-7e8ceb3d2915" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_1ead5d9d-b224-400f-89ad-c6284a854db5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:to="loc_us-gaap_RestructuringReserve_1ead5d9d-b224-400f-89ad-c6284a854db5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveCurrent_856cdeb2-60ff-45fe-9e2b-98ac83c4e833" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:to="loc_us-gaap_RestructuringReserveCurrent_856cdeb2-60ff-45fe-9e2b-98ac83c4e833" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveNoncurrent_0d54d264-7335-4652-a40c-313afecf3bdd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestructuringReserveNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_f5c78bf0-1620-4887-a4a0-bafc732e0ebe" xlink:to="loc_us-gaap_RestructuringReserveNoncurrent_0d54d264-7335-4652-a40c-313afecf3bdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/Leases" xlink:type="simple" xlink:href="efoi-20211231.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_ab9db502-0b2e-467d-86d7-7d17af07352e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeFinanceLeasesTextBlock_67e42364-37e4-450f-a54c-a798a1f36eb2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeFinanceLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ab9db502-0b2e-467d-86d7-7d17af07352e" xlink:to="loc_us-gaap_LesseeFinanceLeasesTextBlock_67e42364-37e4-450f-a54c-a798a1f36eb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_7202f613-bfcc-4032-8388-303eebc22903" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ab9db502-0b2e-467d-86d7-7d17af07352e" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_7202f613-bfcc-4032-8388-303eebc22903" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_49f96eb9-5ca5-4eeb-92ee-4fb847952bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_95477b1d-6500-49c4-aab0-386e7e968bac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_49f96eb9-5ca5-4eeb-92ee-4fb847952bc5" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_95477b1d-6500-49c4-aab0-386e7e968bac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_cef7f6ec-1fb6-4242-a129-13b810f2f860" xlink:href="efoi-20211231.xsd#efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_49f96eb9-5ca5-4eeb-92ee-4fb847952bc5" xlink:to="loc_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock_cef7f6ec-1fb6-4242-a129-13b810f2f860" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_9d52c94d-4d82-4265-a386-124ec996fac7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_49f96eb9-5ca5-4eeb-92ee-4fb847952bc5" xlink:to="loc_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock_9d52c94d-4d82-4265-a386-124ec996fac7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_a012cfd0-b843-4253-a575-ea1d90738d87" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_49f96eb9-5ca5-4eeb-92ee-4fb847952bc5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_a012cfd0-b843-4253-a575-ea1d90738d87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_5dea54af-b6c6-4f69-b859-de0087f56592" xlink:href="efoi-20211231.xsd#efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_49f96eb9-5ca5-4eeb-92ee-4fb847952bc5" xlink:to="loc_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock_5dea54af-b6c6-4f69-b859-de0087f56592" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_f96e1a6d-da2a-42e2-a98b-70a960a377ba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_37830215-6e04-4b77-b1f7-3d032ffc8d58" xlink:href="efoi-20211231.xsd#efoi_LesseeOperatingLeaseInterestRateEffectiveRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f96e1a6d-da2a-42e2-a98b-70a960a377ba" xlink:to="loc_efoi_LesseeOperatingLeaseInterestRateEffectiveRate_37830215-6e04-4b77-b1f7-3d032ffc8d58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseDiscountRate_bb261d2c-19c6-48d5-a342-fded0f5bf158" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseDiscountRate"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f96e1a6d-da2a-42e2-a98b-70a960a377ba" xlink:to="loc_us-gaap_LesseeOperatingLeaseDiscountRate_bb261d2c-19c6-48d5-a342-fded0f5bf158" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_8876514a-fe40-4238-aa01-53e667912d90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f96e1a6d-da2a-42e2-a98b-70a960a377ba" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_8876514a-fe40-4238-aa01-53e667912d90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_e5af078c-5524-45c5-9072-b5ef3fac8600" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f96e1a6d-da2a-42e2-a98b-70a960a377ba" xlink:to="loc_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_e5af078c-5524-45c5-9072-b5ef3fac8600" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCashAndCashEquivalents_2e391bf6-d32f-4114-aade-51ad66e237ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_f96e1a6d-da2a-42e2-a98b-70a960a377ba" xlink:to="loc_us-gaap_RestrictedCashAndCashEquivalents_2e391bf6-d32f-4114-aade-51ad66e237ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesComponentsofLeaseCostDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_8dba1f02-2f71-48b6-bd33-2e51cdcd4c2c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubleaseIncome_841a8678-5d89-4806-8df6-15be7dc44acd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubleaseIncome"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8dba1f02-2f71-48b6-bd33-2e51cdcd4c2c" xlink:to="loc_us-gaap_SubleaseIncome_841a8678-5d89-4806-8df6-15be7dc44acd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_f95a0729-03aa-4fa9-86c2-94880ac68a60" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8dba1f02-2f71-48b6-bd33-2e51cdcd4c2c" xlink:to="loc_us-gaap_OperatingLeaseCost_f95a0729-03aa-4fa9-86c2-94880ac68a60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_61249abc-a60d-4c6c-845d-19eb77c9ea18" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseCostNetOfSubleaseIncome"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8dba1f02-2f71-48b6-bd33-2e51cdcd4c2c" xlink:to="loc_efoi_OperatingLeaseCostNetOfSubleaseIncome_61249abc-a60d-4c6c-845d-19eb77c9ea18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseSubleaseIncome_e977f215-9a61-49a3-8197-255f388c7cb1" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseSubleaseIncome"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8dba1f02-2f71-48b6-bd33-2e51cdcd4c2c" xlink:to="loc_efoi_RestructuredLeaseSubleaseIncome_e977f215-9a61-49a3-8197-255f388c7cb1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCost_947e2e5a-a1e1-4698-aba6-a6832255cb48" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseOperatingLeaseCost"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8dba1f02-2f71-48b6-bd33-2e51cdcd4c2c" xlink:to="loc_efoi_RestructuredLeaseOperatingLeaseCost_947e2e5a-a1e1-4698-aba6-a6832255cb48" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_de72bb80-8936-4723-835a-4b8fd6a27de8" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8dba1f02-2f71-48b6-bd33-2e51cdcd4c2c" xlink:to="loc_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome_de72bb80-8936-4723-835a-4b8fd6a27de8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_c10fc756-520d-45cc-b25a-530a1986da96" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_8dba1f02-2f71-48b6-bd33-2e51cdcd4c2c" xlink:to="loc_us-gaap_LeaseCost_c10fc756-520d-45cc-b25a-530a1986da96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesScheduleofSupplementalBalanceSheetInformationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_ad220f05-4713-4ff4-a07f-6efd1c3d3dd4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_96ea665a-3fff-45bc-a730-5e5e7ab5796d" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ad220f05-4713-4ff4-a07f-6efd1c3d3dd4" xlink:to="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_96ea665a-3fff-45bc-a730-5e5e7ab5796d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_4bba3f95-b24f-435a-8434-91dbdf6e1a2a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_96ea665a-3fff-45bc-a730-5e5e7ab5796d" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_4bba3f95-b24f-435a-8434-91dbdf6e1a2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset_d2d1a3a7-20f1-45c2-958d-e5cf5de9ff2f" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_96ea665a-3fff-45bc-a730-5e5e7ab5796d" xlink:to="loc_efoi_RestructuredOperatingLeaseRightOfUseAsset_d2d1a3a7-20f1-45c2-958d-e5cf5de9ff2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_d58e8655-8b17-439e-88d5-e9c6b995ef2c" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_96ea665a-3fff-45bc-a730-5e5e7ab5796d" xlink:to="loc_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases_d58e8655-8b17-439e-88d5-e9c6b995ef2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_9de0b022-d000-462e-9cbe-46f9ee38c237" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_96ea665a-3fff-45bc-a730-5e5e7ab5796d" xlink:to="loc_us-gaap_OperatingLeaseLiability_9de0b022-d000-462e-9cbe-46f9ee38c237" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredOperatingLeaseLiability_876d1b74-c2b7-42c9-a0a2-67c17eb5ce4d" xlink:href="efoi-20211231.xsd#efoi_RestructuredOperatingLeaseLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_96ea665a-3fff-45bc-a730-5e5e7ab5796d" xlink:to="loc_efoi_RestructuredOperatingLeaseLiability_876d1b74-c2b7-42c9-a0a2-67c17eb5ce4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_fbfb7f7e-eb65-4349-a877-697dbf5235b8" xlink:href="efoi-20211231.xsd#efoi_OperatingLeaseLiabilityIncludingRestructuredLeases"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract_96ea665a-3fff-45bc-a730-5e5e7ab5796d" xlink:to="loc_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases_fbfb7f7e-eb65-4349-a877-697dbf5235b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_3f133550-cd3c-4f43-84cc-777f48773a64" xlink:href="efoi-20211231.xsd#efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_ad220f05-4713-4ff4-a07f-6efd1c3d3dd4" xlink:to="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_3f133550-cd3c-4f43-84cc-777f48773a64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetGross_ff0d4411-f0a4-4fa2-83d6-7737d8b6d096" xlink:href="efoi-20211231.xsd#efoi_FinanceLeaseRightOfUseAssetGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_3f133550-cd3c-4f43-84cc-777f48773a64" xlink:to="loc_efoi_FinanceLeaseRightOfUseAssetGross_ff0d4411-f0a4-4fa2-83d6-7737d8b6d096" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_0d8fa084-7f80-4de9-a473-f3750684ea64" xlink:href="efoi-20211231.xsd#efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_3f133550-cd3c-4f43-84cc-777f48773a64" xlink:to="loc_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation_0d8fa084-7f80-4de9-a473-f3750684ea64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAsset_c716be90-7823-4267-a536-f7657fdcb827" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_3f133550-cd3c-4f43-84cc-777f48773a64" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAsset_c716be90-7823-4267-a536-f7657fdcb827" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_13473929-1b62-489c-8506-81d3136493a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract_3f133550-cd3c-4f43-84cc-777f48773a64" xlink:to="loc_us-gaap_FinanceLeaseLiability_13473929-1b62-489c-8506-81d3136493a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_e48eae31-3e1b-4bd1-887d-690268ef246a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e48eae31-3e1b-4bd1-887d-690268ef246a" xlink:to="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_aaa1124a-7943-45a7-88e5-c8f06d3ad215" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths_aaa1124a-7943-45a7-88e5-c8f06d3ad215" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_d8d3c20f-417c-45dc-b071-9691e921242f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo_d8d3c20f-417c-45dc-b071-9691e921242f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_c6aa29f3-baa7-4cfd-a93c-8676f7f21048" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree_c6aa29f3-baa7-4cfd-a93c-8676f7f21048" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_12f7c23b-9272-4bad-b21d-46e706513474" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour_12f7c23b-9272-4bad-b21d-46e706513474" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_9374199f-76d1-4093-89b4-cffa92c65add" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive_9374199f-76d1-4093-89b4-cffa92c65add" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_9a92ea44-3d67-4059-a258-7c235bb0095c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_9a92ea44-3d67-4059-a258-7c235bb0095c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_676e6411-14aa-445b-9915-d993d49e5327" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_676e6411-14aa-445b-9915-d993d49e5327" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_689a95fc-1b3e-4b9b-ba47-ef2cf5b67584" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract_d77a52d3-d081-418f-839f-fa0a75609708" xlink:to="loc_us-gaap_OperatingLeaseLiability_689a95fc-1b3e-4b9b-ba47-ef2cf5b67584" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_e48eae31-3e1b-4bd1-887d-690268ef246a" xlink:to="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths_1c58853f-af9f-4911-872d-01e63afcb233" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths_1c58853f-af9f-4911-872d-01e63afcb233" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo_432fce96-d859-4e5d-afb7-e7cc41525822" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo_432fce96-d859-4e5d-afb7-e7cc41525822" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree_c9698a7a-635f-4def-92a4-7a42484c400e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree_c9698a7a-635f-4def-92a4-7a42484c400e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour_31b8e562-f917-4bb5-a3ca-db5d71aa3817" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour_31b8e562-f917-4bb5-a3ca-db5d71aa3817" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive_e2c55978-7796-495e-8684-5263aabcfece" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive_e2c55978-7796-495e-8684-5263aabcfece" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_c24109ad-af4d-4563-a9d5-fa3eab8c908f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:to="loc_us-gaap_FinanceLeaseLiabilityPaymentsDue_c24109ad-af4d-4563-a9d5-fa3eab8c908f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_df6315c1-9712-49ba-9ad2-883ad3313dac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:to="loc_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_df6315c1-9712-49ba-9ad2-883ad3313dac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseLiability_e05cf5fc-43d3-4284-a59c-3814628f8297" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseLiability"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract_13c1d7b7-3b6f-4516-85aa-45698f03194c" xlink:to="loc_us-gaap_FinanceLeaseLiability_e05cf5fc-43d3-4284-a59c-3814628f8297" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#LeasesScheduleofSupplementalCashFlowInformationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_30c7d73f-73f5-47c9-ba6f-0ecdbc828ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_c24db640-c3eb-4639-bd9c-fed62eb9a5b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_30c7d73f-73f5-47c9-ba6f-0ecdbc828ff1" xlink:to="loc_us-gaap_OperatingLeasePayments_c24db640-c3eb-4639-bd9c-fed62eb9a5b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RestructuredLeasesOperatingLeasePayments_aa54fe20-9674-4652-927d-85cd5aa0d6d2" xlink:href="efoi-20211231.xsd#efoi_RestructuredLeasesOperatingLeasePayments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_30c7d73f-73f5-47c9-ba6f-0ecdbc828ff1" xlink:to="loc_efoi_RestructuredLeasesOperatingLeasePayments_aa54fe20-9674-4652-927d-85cd5aa0d6d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeasePrincipalPayments_86635f30-419c-4627-84ef-b0e7d6c323b9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_30c7d73f-73f5-47c9-ba6f-0ecdbc828ff1" xlink:to="loc_us-gaap_FinanceLeasePrincipalPayments_86635f30-419c-4627-84ef-b0e7d6c323b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/Inventories" xlink:type="simple" xlink:href="efoi-20211231.xsd#Inventories"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/Inventories" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_9bf093de-9c2b-4dd1-9690-b9b1b4ea82c3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_421dc4a2-4d15-4806-9026-3da8fd15d817" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_9bf093de-9c2b-4dd1-9690-b9b1b4ea82c3" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_421dc4a2-4d15-4806-9026-3da8fd15d817" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesInventoriesTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#InventoriesInventoriesTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesInventoriesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_20293b3b-ddeb-4274-a739-99db58a53708" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_90a905c6-1faa-41ea-bb5e-0071cdb182b3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_20293b3b-ddeb-4274-a739-99db58a53708" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_90a905c6-1faa-41ea-bb5e-0071cdb182b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#InventoriesScheduleofInventoryDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_2eb9b689-8b99-4b64-a65f-bd8a54aa1192" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials_85c0b88c-38dd-44ed-b9ea-1339645d4010" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterials"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_2eb9b689-8b99-4b64-a65f-bd8a54aa1192" xlink:to="loc_us-gaap_InventoryRawMaterials_85c0b88c-38dd-44ed-b9ea-1339645d4010" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods_8c55817f-1a9b-429f-90b4-20301f25bca3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_2eb9b689-8b99-4b64-a65f-bd8a54aa1192" xlink:to="loc_us-gaap_InventoryFinishedGoods_8c55817f-1a9b-429f-90b4-20301f25bca3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves_70f60c77-e734-46c8-ad9e-a66b64964865" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserves"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_2eb9b689-8b99-4b64-a65f-bd8a54aa1192" xlink:to="loc_us-gaap_InventoryValuationReserves_70f60c77-e734-46c8-ad9e-a66b64964865" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_f2b7d3ba-6fc4-461c-9d08-c5aee69b62f9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_2eb9b689-8b99-4b64-a65f-bd8a54aa1192" xlink:to="loc_us-gaap_InventoryNet_f2b7d3ba-6fc4-461c-9d08-c5aee69b62f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#InventoriesReserveRollforwardDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_63cbc5e0-32e1-4705-8d88-73eba0a81836" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryReserveRollForward_6f1bf5f8-06d4-4f98-b8f5-052b4d0a078f" xlink:href="efoi-20211231.xsd#efoi_InventoryReserveRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_63cbc5e0-32e1-4705-8d88-73eba0a81836" xlink:to="loc_efoi_InventoryReserveRollForward_6f1bf5f8-06d4-4f98-b8f5-052b4d0a078f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesRawMaterials_47c57e26-0b5f-49ec-9758-6952dbaadd7c" xlink:href="efoi-20211231.xsd#efoi_InventoryValuationReservesRawMaterials"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_InventoryReserveRollForward_6f1bf5f8-06d4-4f98-b8f5-052b4d0a078f" xlink:to="loc_efoi_InventoryValuationReservesRawMaterials_47c57e26-0b5f-49ec-9758-6952dbaadd7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesProvisionAccrual_4044d314-61f6-48ff-882b-e02bad742904" xlink:href="efoi-20211231.xsd#efoi_InventoryValuationReservesProvisionAccrual"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_InventoryReserveRollForward_6f1bf5f8-06d4-4f98-b8f5-052b4d0a078f" xlink:to="loc_efoi_InventoryValuationReservesProvisionAccrual_4044d314-61f6-48ff-882b-e02bad742904" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesSalesOfInventory_b74e13d5-222d-4fef-8586-b0b92ed4edb9" xlink:href="efoi-20211231.xsd#efoi_InventoryValuationReservesSalesOfInventory"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_InventoryReserveRollForward_6f1bf5f8-06d4-4f98-b8f5-052b4d0a078f" xlink:to="loc_efoi_InventoryValuationReservesSalesOfInventory_b74e13d5-222d-4fef-8586-b0b92ed4edb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryValuationReservesRawMaterials_26e6fc18-5566-4fac-92c8-9e54bd474689" xlink:href="efoi-20211231.xsd#efoi_InventoryValuationReservesRawMaterials"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_InventoryReserveRollForward_6f1bf5f8-06d4-4f98-b8f5-052b4d0a078f" xlink:to="loc_efoi_InventoryValuationReservesRawMaterials_26e6fc18-5566-4fac-92c8-9e54bd474689" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/InventoriesNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#InventoriesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/InventoriesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_448e9565-65d3-48c3-8439-f0cc3ee180d3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInInventoryLevelsGross_6e3c1f39-5d5f-4c20-a28e-73b8c4c7bd83" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInInventoryLevelsGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_448e9565-65d3-48c3-8439-f0cc3ee180d3" xlink:to="loc_efoi_IncreaseDecreaseInInventoryLevelsGross_6e3c1f39-5d5f-4c20-a28e-73b8c4c7bd83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IncreaseDecreaseInInventoryReserves_e3c12f09-35c3-4c96-ac11-65f62b7c90b4" xlink:href="efoi-20211231.xsd#efoi_IncreaseDecreaseInInventoryReserves"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_448e9565-65d3-48c3-8439-f0cc3ee180d3" xlink:to="loc_efoi_IncreaseDecreaseInInventoryReserves_e3c12f09-35c3-4c96-ac11-65f62b7c90b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipment" xlink:type="simple" xlink:href="efoi-20211231.xsd#PropertyandEquipment"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipment" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_81de1828-be6d-4d00-8de3-6d1a3df47494" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_5c78a0c8-2112-4419-92cd-11eb83f71573" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_81de1828-be6d-4d00-8de3-6d1a3df47494" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_5c78a0c8-2112-4419-92cd-11eb83f71573" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#PropertyandEquipmentTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipmentTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_c0770057-2788-4871-952c-70a3b25150a2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_5954cd61-9084-44fe-8213-7d581a2cd3bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_c0770057-2788-4871-952c-70a3b25150a2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_5954cd61-9084-44fe-8213-7d581a2cd3bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PropertyandEquipmentDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#PropertyandEquipmentDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PropertyandEquipmentDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_5c5458e6-dc03-4e6a-8db8-a3a1e7f90835" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_5c5458e6-dc03-4e6a-8db8-a3a1e7f90835" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_483b9dd9-31d6-4161-b275-5ec30d1cc762" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_483b9dd9-31d6-4161-b275-5ec30d1cc762" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_483b9dd9-31d6-4161-b275-5ec30d1cc762" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquipmentMember_635ba4a3-2309-4e25-9b4b-21989b16436c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquipmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_EquipmentMember_635ba4a3-2309-4e25-9b4b-21989b16436c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ToolingMember_fd1cd26c-016f-45f3-b3d2-c8567141b54f" xlink:href="efoi-20211231.xsd#efoi_ToolingMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_efoi_ToolingMember_fd1cd26c-016f-45f3-b3d2-c8567141b54f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VehiclesMember_050e49f0-fa43-466b-ab31-ef19d829efa7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VehiclesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_VehiclesMember_050e49f0-fa43-466b-ab31-ef19d829efa7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_ad7d27fc-01ec-4751-b4fc-0c3c7fd4938f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FurnitureAndFixturesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_ad7d27fc-01ec-4751-b4fc-0c3c7fd4938f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_7797daa4-9212-4d58-88b2-35fc82aee899" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SoftwareAndSoftwareDevelopmentCostsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_SoftwareAndSoftwareDevelopmentCostsMember_7797daa4-9212-4d58-88b2-35fc82aee899" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_97b30e6c-c448-4d17-b06c-49cb96aa4e88" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_97b30e6c-c448-4d17-b06c-49cb96aa4e88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RobotsMember_865538ee-127e-486d-b3b7-af82aacbf0de" xlink:href="efoi-20211231.xsd#efoi_RobotsMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_efoi_RobotsMember_865538ee-127e-486d-b3b7-af82aacbf0de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressMember_bf102230-2313-4e14-a73c-978427b3abf6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConstructionInProgressMember"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_f0057220-4856-4074-ae7c-bab7fed53afd" xlink:to="loc_us-gaap_ConstructionInProgressMember_bf102230-2313-4e14-a73c-978427b3abf6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_d53a01d8-3b53-4ebd-8f93-757121a837cc" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:to="loc_srt_RangeAxis_d53a01d8-3b53-4ebd-8f93-757121a837cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_96cdda6a-6ebe-4b05-96e2-a68642e30fec" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_d53a01d8-3b53-4ebd-8f93-757121a837cc" xlink:to="loc_srt_RangeMember_96cdda6a-6ebe-4b05-96e2-a68642e30fec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_fcfb94aa-0f9a-41f9-96d0-fdc72ef52070" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_96cdda6a-6ebe-4b05-96e2-a68642e30fec" xlink:to="loc_srt_MinimumMember_fcfb94aa-0f9a-41f9-96d0-fdc72ef52070" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_e69d03d5-3960-4482-baa7-3a3a06861bda" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_96cdda6a-6ebe-4b05-96e2-a68642e30fec" xlink:to="loc_srt_MaximumMember_e69d03d5-3960-4482-baa7-3a3a06861bda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_5213eb0f-d334-4997-9e94-b355d4ab1744" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_9c9bb97d-df46-4673-bfa3-a96a837ea81a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_9c9bb97d-df46-4673-bfa3-a96a837ea81a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_a4357327-9d63-493e-ae36-4b52b604f147" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization_a4357327-9d63-493e-ae36-4b52b604f147" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_bff23967-b59d-43ee-baa3-1c9ac74c53d8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_bff23967-b59d-43ee-baa3-1c9ac74c53d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_0284cb4e-bae0-4c0b-8657-6f066714efb5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_0284cb4e-bae0-4c0b-8657-6f066714efb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_d8b7376c-7ead-4027-a77a-8af2ad275950" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_d8b7376c-7ead-4027-a77a-8af2ad275950" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_02fa729d-2e38-4144-822c-1c3bb7243ca3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_02fa729d-2e38-4144-822c-1c3bb7243ca3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_00d2529e-bef4-498c-ae28-32458a7b2d97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_56e69492-b86c-4883-a5ab-4380fc890a9a" xlink:to="loc_us-gaap_Depreciation_00d2529e-bef4-498c-ae28-32458a7b2d97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssets" xlink:type="simple" xlink:href="efoi-20211231.xsd#PrepaidExpensesandOtherCurrentAssets"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_11561a10-dcc5-45f2-8837-66caa93d0cea" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherCurrentAssetsTextBlock_ccfa19ab-cf2f-485b-b83a-cc2e84150712" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherCurrentAssetsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_11561a10-dcc5-45f2-8837-66caa93d0cea" xlink:to="loc_us-gaap_OtherCurrentAssetsTextBlock_ccfa19ab-cf2f-485b-b83a-cc2e84150712" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#PrepaidExpensesandOtherCurrentAssetsTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_6f1b44d7-774c-4e83-a9ad-6aa6c78261f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_17088b79-836c-483c-a1ab-a199858e0fae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_6f1b44d7-774c-4e83-a9ad-6aa6c78261f3" xlink:to="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_17088b79-836c-483c-a1ab-a199858e0fae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#PrepaidExpensesandOtherCurrentAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidInsurance_e16bf7a5-bb74-4a89-9456-2909f4cbfc9c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidInsurance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:to="loc_us-gaap_PrepaidInsurance_e16bf7a5-bb74-4a89-9456-2909f4cbfc9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherPrepaidExpenseCurrent_5b48231c-2df3-4155-8afb-b18c1f385628" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherPrepaidExpenseCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:to="loc_us-gaap_OtherPrepaidExpenseCurrent_5b48231c-2df3-4155-8afb-b18c1f385628" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidRent_fd3efba5-fcf2-4160-9366-191354d07d2d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidRent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:to="loc_us-gaap_PrepaidRent_fd3efba5-fcf2-4160-9366-191354d07d2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SecurityDeposit_ee33ff6c-b1e5-4814-a0fb-257651fb15fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SecurityDeposit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:to="loc_us-gaap_SecurityDeposit_ee33ff6c-b1e5-4814-a0fb-257651fb15fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedCash_9a31021a-d16e-48df-8576-5085a70d2016" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedCash"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:to="loc_us-gaap_RestrictedCash_9a31021a-d16e-48df-8576-5085a70d2016" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_94c297c4-283c-49c4-bc3c-6f2e68df4fb7" xlink:href="efoi-20211231.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:to="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_94c297c4-283c-49c4-bc3c-6f2e68df4fb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_459c90ef-52ca-4bc7-98e3-c3913a10505b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:to="loc_us-gaap_OtherAssetsCurrent_459c90ef-52ca-4bc7-98e3-c3913a10505b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_8a808be0-9257-42c6-89b3-e4a31603c6d5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_e5768219-40ca-4a3e-ae34-438745378b19" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_8a808be0-9257-42c6-89b3-e4a31603c6d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/Debt" xlink:type="simple" xlink:href="efoi-20211231.xsd#Debt"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/Debt" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_c061af5a-ba27-442d-bf65-08ce266ce82f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_5b287d8f-c63e-4278-8ddf-e09a83f616b1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_c061af5a-ba27-442d-bf65-08ce266ce82f" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_5b287d8f-c63e-4278-8ddf-e09a83f616b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtCreditFacilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_33fa6b98-5ed2-4c72-8c2a-7b43742590f3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_33fa6b98-5ed2-4c72-8c2a-7b43742590f3" xlink:to="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_ac99c6dd-e335-4caf-9b56-1cb47252fb60" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_CreditFacilityAxis_ac99c6dd-e335-4caf-9b56-1cb47252fb60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_873d8592-84c1-441e-8ada-f78282c91b5d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_ac99c6dd-e335-4caf-9b56-1cb47252fb60" xlink:to="loc_us-gaap_CreditFacilityDomain_873d8592-84c1-441e-8ada-f78282c91b5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_51a8f596-5dbd-4fc4-8e20-d42ec8b36db1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_873d8592-84c1-441e-8ada-f78282c91b5d" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_51a8f596-5dbd-4fc4-8e20-d42ec8b36db1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_97aa0f08-e250-4ede-b776-b2a3bf7eb99c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_DebtInstrumentAxis_97aa0f08-e250-4ede-b776-b2a3bf7eb99c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_97aa0f08-e250-4ede-b776-b2a3bf7eb99c" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InventoryFacilityMember_0abc58f2-4c59-4f52-b73f-d1cb626bfa50" xlink:href="efoi-20211231.xsd#efoi_InventoryFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:to="loc_efoi_InventoryFacilityMember_0abc58f2-4c59-4f52-b73f-d1cb626bfa50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ReceivablesFacilityMember_60eddbe6-3284-4087-a3a8-f660f53399db" xlink:href="efoi-20211231.xsd#efoi_ReceivablesFacilityMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:to="loc_efoi_ReceivablesFacilityMember_60eddbe6-3284-4087-a3a8-f660f53399db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinFacilityMember_34377eed-f403-4203-9192-abad3dc93e2a" xlink:href="efoi-20211231.xsd#efoi_AustinFacilityMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:to="loc_efoi_AustinFacilityMember_34377eed-f403-4203-9192-abad3dc93e2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AustinCreditFacilityMember_47a53a21-2989-4a4e-8ea9-7b2786d14faf" xlink:href="efoi-20211231.xsd#efoi_AustinCreditFacilityMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_1f1066c4-fd91-4995-a7f4-bf91d156f2d6" xlink:to="loc_efoi_AustinCreditFacilityMember_47a53a21-2989-4a4e-8ea9-7b2786d14faf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_VariableRateAxis_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_f702515c-3646-4ceb-87b6-dde2e432cad4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_8a37f2e1-2e1b-4bef-8eb3-0ddb9b7b3c1e" xlink:to="loc_us-gaap_VariableRateDomain_f702515c-3646-4ceb-87b6-dde2e432cad4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_3fb86607-5e73-4f8c-90dc-76ba4200233a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_f702515c-3646-4ceb-87b6-dde2e432cad4" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_3fb86607-5e73-4f8c-90dc-76ba4200233a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_WallStreetJournalHighestPrimeRateMember_da61c205-b718-4018-9f83-7182ece260a1" xlink:href="efoi-20211231.xsd#efoi_WallStreetJournalHighestPrimeRateMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_f702515c-3646-4ceb-87b6-dde2e432cad4" xlink:to="loc_efoi_WallStreetJournalHighestPrimeRateMember_da61c205-b718-4018-9f83-7182ece260a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_788266b0-f3c4-4b9f-8981-9a9c21e02238" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_788266b0-f3c4-4b9f-8981-9a9c21e02238" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_0cfc0852-464f-4299-a524-971e4747d62c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_788266b0-f3c4-4b9f-8981-9a9c21e02238" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_0cfc0852-464f-4299-a524-971e4747d62c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_16350913-1c31-4b05-ac9a-90c1be5ad409" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_0cfc0852-464f-4299-a524-971e4747d62c" xlink:to="loc_us-gaap_ConvertibleDebtMember_16350913-1c31-4b05-ac9a-90c1be5ad409" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_3cf11862-0b0f-43e5-b1bf-995122732372" xlink:to="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentNumberOfCreditFacilities_03c683fc-5162-4fc6-891e-598f89b35eb0" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentNumberOfCreditFacilities"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_DebtInstrumentNumberOfCreditFacilities_03c683fc-5162-4fc6-891e-598f89b35eb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3b8db693-f83d-453c-a7ac-dbf08cfb7e68" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_3b8db693-f83d-453c-a7ac-dbf08cfb7e68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_e00425f8-3d57-4208-9808-5a3c30768273" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent_e00425f8-3d57-4208-9808-5a3c30768273" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_20520a7e-7eac-41d1-96bb-ac7429291a80" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent_20520a7e-7eac-41d1-96bb-ac7429291a80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_0ca5f8f8-a35d-4d46-9ed5-bdcdd1cadb2a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_0ca5f8f8-a35d-4d46-9ed5-bdcdd1cadb2a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentBaseRateVariable_92625770-82d6-42d7-a650-5233f3b8e173" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentBaseRateVariable"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_DebtInstrumentBaseRateVariable_92625770-82d6-42d7-a650-5233f3b8e173" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_bcdf0c7f-10e2-4b50-a6ee-82ad08e1940c" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMonthlyFacilityFeePercent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent_bcdf0c7f-10e2-4b50-a6ee-82ad08e1940c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMonthlyFacilityFee_13ed89f9-d4f1-46d9-8095-3002b0abb2e3" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMonthlyFacilityFee"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityMonthlyFacilityFee_13ed89f9-d4f1-46d9-8095-3002b0abb2e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_6811be11-1458-444c-9dac-bca7330ef50e" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent_6811be11-1458-444c-9dac-bca7330ef50e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_cd98d4f4-3970-4551-9067-37a97f2c6760" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee_cd98d4f4-3970-4551-9067-37a97f2c6760" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LinesOfCreditCurrent_161ee323-5de6-4f8d-84e0-613366b5323f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LinesOfCreditCurrent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_LinesOfCreditCurrent_161ee323-5de6-4f8d-84e0-613366b5323f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnamortizedDebtIssuanceExpense_6dc80ea6-4ef2-4299-b799-6865df91d48b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnamortizedDebtIssuanceExpense"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_UnamortizedDebtIssuanceExpense_6dc80ea6-4ef2-4299-b799-6865df91d48b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_8d7c4459-eb9a-498d-9e8c-a8960bc61339" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAnnualFacilityFeePeriod"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod_8d7c4459-eb9a-498d-9e8c-a8960bc61339" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_6155666c-5dce-4c6a-8de0-ef8faf277071" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts_6155666c-5dce-4c6a-8de0-ef8faf277071" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_bcdae178-9fa9-41ef-b416-d4ae5a55f76e" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts_bcdae178-9fa9-41ef-b416-d4ae5a55f76e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_3e89c590-3fcc-4e33-ab39-24eec39e8195" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue_3e89c590-3fcc-4e33-ab39-24eec39e8195" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAvailableInventory_49d97cd0-125f-41c9-8372-bca77bc030a1" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAvailableInventory"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAvailableInventory_49d97cd0-125f-41c9-8372-bca77bc030a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityOverdraftFeePercent_94327355-3c57-4e61-af81-a164d86e6345" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityOverdraftFeePercent"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityOverdraftFeePercent_94327355-3c57-4e61-af81-a164d86e6345" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityMinimumRequirement_077cd974-9c8b-4ac2-a37d-a71db4466e20" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityMinimumRequirement"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityMinimumRequirement_077cd974-9c8b-4ac2-a37d-a71db4466e20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityAnnualFeePercent_f089fd68-10ac-472e-8c57-5e140aae1c5b" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityAnnualFeePercent"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityAnnualFeePercent_f089fd68-10ac-472e-8c57-5e140aae1c5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LineOfCreditFacilityCollateralManagementFeePercent_31183326-1b85-4466-8172-16d45d36137e" xlink:href="efoi-20211231.xsd#efoi_LineOfCreditFacilityCollateralManagementFeePercent"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_efoi_LineOfCreditFacilityCollateralManagementFeePercent_31183326-1b85-4466-8172-16d45d36137e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts_3d6a6773-a0f8-410f-a898-6d789cdd0f40" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDebtExtinguishmentCosts"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_PaymentsOfDebtExtinguishmentCosts_3d6a6773-a0f8-410f-a898-6d789cdd0f40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFeeAmount_4ef71525-c767-494c-987c-405a8800aec3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFeeAmount"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_DebtInstrumentFeeAmount_4ef71525-c767-494c-987c-405a8800aec3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_27ef6a3a-032d-4be8-b471-3b60b26727de" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_77bf36cc-d0fc-4989-b70e-36b366bed20f" xlink:to="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_27ef6a3a-032d-4be8-b471-3b60b26727de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtStreetervilleNoteDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_52f63118-7983-4c27-baf2-2da195f7f131" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_52f63118-7983-4c27-baf2-2da195f7f131" xlink:to="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_cfbab604-ca8f-427d-abfe-e81a67f1f020" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:to="loc_us-gaap_DebtInstrumentAxis_cfbab604-ca8f-427d-abfe-e81a67f1f020" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_834546b6-78ce-4304-b532-c7483b2bd549" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_cfbab604-ca8f-427d-abfe-e81a67f1f020" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_834546b6-78ce-4304-b532-c7483b2bd549" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_StreetervilleNotePurchaseAgreementMember_852822ca-2560-4b2c-ad67-be9f1d6c362c" xlink:href="efoi-20211231.xsd#efoi_StreetervilleNotePurchaseAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_834546b6-78ce-4304-b532-c7483b2bd549" xlink:to="loc_efoi_StreetervilleNotePurchaseAgreementMember_852822ca-2560-4b2c-ad67-be9f1d6c362c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_cec7d3f2-1c2d-4e93-af51-14499fba5784" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_cec7d3f2-1c2d-4e93-af51-14499fba5784" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_112c1433-ad82-4f3f-b020-492033065dfe" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodAxis_cec7d3f2-1c2d-4e93-af51-14499fba5784" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_112c1433-ad82-4f3f-b020-492033065dfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_a0953c57-cf40-4cf6-8662-e4ac4e4b9428" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_112c1433-ad82-4f3f-b020-492033065dfe" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodOneMember_a0953c57-cf40-4cf6-8662-e4ac4e4b9428" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_3f4b766f-11eb-4202-99f4-00b7579b3424" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentRedemptionPeriodTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentRedemptionPeriodDomain_112c1433-ad82-4f3f-b020-492033065dfe" xlink:to="loc_us-gaap_DebtInstrumentRedemptionPeriodTwoMember_3f4b766f-11eb-4202-99f4-00b7579b3424" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_84575f44-b269-40f9-9158-a497de04dff8" xlink:to="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_b9e997b8-dab8-44fa-a6df-6028285af8a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_b9e997b8-dab8-44fa-a6df-6028285af8a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscount_ed4b1cb2-b315-4fe7-a544-931cf37904a2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscount_ed4b1cb2-b315-4fe7-a544-931cf37904a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt_6b045a28-5bee-4060-bcdb-a6a7dfa4b52a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfDebt_6b045a28-5bee-4060-bcdb-a6a7dfa4b52a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross_6878b618-a9b1-4fcd-911f-d3ec8635903f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DeferredFinanceCostsGross_6878b618-a9b1-4fcd-911f-d3ec8635903f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_b46aea70-0209-4ef7-82ab-4a633c51f34f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_b46aea70-0209-4ef7-82ab-4a633c51f34f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPrepaymentPremiumPercent_dff1fc24-ebf5-4b9e-a845-52cce7f192d8" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentPrepaymentPremiumPercent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtInstrumentPrepaymentPremiumPercent_dff1fc24-ebf5-4b9e-a845-52cce7f192d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtPrepaymentMaximumPercentage_63b84246-6cf0-4c7e-97ce-b20ba6e3b973" xlink:href="efoi-20211231.xsd#efoi_DebtPrepaymentMaximumPercentage"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtPrepaymentMaximumPercentage_63b84246-6cf0-4c7e-97ce-b20ba6e3b973" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_452e9de7-2336-4dfb-9230-ca6cd4edbada" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount_452e9de7-2336-4dfb-9230-ca6cd4edbada" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_b43fb455-13a2-40f9-b811-24b7cdf7f536" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals_b43fb455-13a2-40f9-b811-24b7cdf7f536" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_3be42c70-0fc6-4280-a462-6b4636714c7f" xlink:href="efoi-20211231.xsd#efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption_3be42c70-0fc6-4280-a462-6b4636714c7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_f2712898-cd3b-4f02-a1e5-2a49852feabc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_f2712898-cd3b-4f02-a1e5-2a49852feabc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_15d68f81-ebb7-46a5-b2cf-80273e270e5f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet_15d68f81-ebb7-46a5-b2cf-80273e270e5f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_5a0b8403-7591-4f02-ac71-02a4b6dc8616" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_42cf71fe-3ef3-473b-a71e-7dd93889ee56" xlink:to="loc_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange_5a0b8403-7591-4f02-ac71-02a4b6dc8616" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtPPPLoanDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtPPPLoanDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtPPPLoanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_fbacdef8-b05c-4da5-a321-b67a400769ef" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_a02df853-3a8f-43db-a0fc-f9118f1adbd4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_fbacdef8-b05c-4da5-a321-b67a400769ef" xlink:to="loc_us-gaap_DebtInstrumentTable_a02df853-3a8f-43db-a0fc-f9118f1adbd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_1084f3cc-5132-4b1a-9269-6a4509c4c2bc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_a02df853-3a8f-43db-a0fc-f9118f1adbd4" xlink:to="loc_us-gaap_DebtInstrumentAxis_1084f3cc-5132-4b1a-9269-6a4509c4c2bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_bc3cb5f8-95c2-4d5c-98ea-4b9250407f42" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_1084f3cc-5132-4b1a-9269-6a4509c4c2bc" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_bc3cb5f8-95c2-4d5c-98ea-4b9250407f42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaycheckProtectionProgramCARESActMember_c9101344-821d-47f5-9298-046caaaaa99c" xlink:href="efoi-20211231.xsd#efoi_PaycheckProtectionProgramCARESActMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_bc3cb5f8-95c2-4d5c-98ea-4b9250407f42" xlink:to="loc_efoi_PaycheckProtectionProgramCARESActMember_c9101344-821d-47f5-9298-046caaaaa99c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_a02df853-3a8f-43db-a0fc-f9118f1adbd4" xlink:to="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLoanOriginations1_3861fd47-3777-49f5-9d5c-7d719175a1ed" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLoanOriginations1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_us-gaap_ProceedsFromLoanOriginations1_3861fd47-3777-49f5-9d5c-7d719175a1ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_3eaa54bf-7465-4e57-b113-2eef639b3083" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_3eaa54bf-7465-4e57-b113-2eef639b3083" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramCurrent_fc4860ef-bdc9-4815-b68a-d39147e96dd2" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_efoi_PaymentProtectionProgramCurrent_fc4860ef-bdc9-4815-b68a-d39147e96dd2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramNoncurrent_887c5836-3caf-4409-96f2-1425e6181b18" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_efoi_PaymentProtectionProgramNoncurrent_887c5836-3caf-4409-96f2-1425e6181b18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_6799ba71-d37a-4bc6-8ce1-9b07af9cc77f" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_100c1738-81fb-4666-aaff-3b30c9646289" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_6799ba71-d37a-4bc6-8ce1-9b07af9cc77f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtIliadNoteDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtIliadNoteDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtIliadNoteDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_25144915-8e96-4fb5-ab4b-a6aab6a0e1ec" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_5a7123c5-e919-48ea-806b-298f9b2cdd8d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_25144915-8e96-4fb5-ab4b-a6aab6a0e1ec" xlink:to="loc_us-gaap_DebtInstrumentTable_5a7123c5-e919-48ea-806b-298f9b2cdd8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_0bb12b7b-e150-4fc8-956b-1f4647896905" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_5a7123c5-e919-48ea-806b-298f9b2cdd8d" xlink:to="loc_us-gaap_DebtInstrumentAxis_0bb12b7b-e150-4fc8-956b-1f4647896905" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_0179b2c7-7482-440d-aae8-3c479487e22b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_0bb12b7b-e150-4fc8-956b-1f4647896905" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_0179b2c7-7482-440d-aae8-3c479487e22b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IliadNotePurchaseAgreementMember_4e06985d-2dbe-4262-b88b-6fc099ecbe4f" xlink:href="efoi-20211231.xsd#efoi_IliadNotePurchaseAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_0179b2c7-7482-440d-aae8-3c479487e22b" xlink:to="loc_efoi_IliadNotePurchaseAgreementMember_4e06985d-2dbe-4262-b88b-6fc099ecbe4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_5a7123c5-e919-48ea-806b-298f9b2cdd8d" xlink:to="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_948759b5-e654-45bb-b714-ee757129df4f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_948759b5-e654-45bb-b714-ee757129df4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentUnamortizedPremium_4700800f-52b4-4a2d-b2f5-aeea5a8feff4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentUnamortizedPremium"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DebtInstrumentUnamortizedPremium_4700800f-52b4-4a2d-b2f5-aeea5a8feff4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfDebt_5e6197f8-811c-4fff-9ecc-2542568ecd4c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfDebt"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfDebt_5e6197f8-811c-4fff-9ecc-2542568ecd4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsGross_ee5c85d8-4a9c-47c0-bfd6-d8fcdeb87aa8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsGross"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DeferredFinanceCostsGross_ee5c85d8-4a9c-47c0-bfd6-d8fcdeb87aa8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfDebt_356600e3-2a30-4f26-8a18-5873b71d4ba5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfDebt"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_RepaymentsOfDebt_356600e3-2a30-4f26-8a18-5873b71d4ba5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_be2770cd-d239-4d5e-81b9-c077f918a653" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WriteOffOfDeferredDebtIssuanceCost"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_WriteOffOfDeferredDebtIssuanceCost_be2770cd-d239-4d5e-81b9-c077f918a653" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_3ba433c3-3a3d-4f80-87d0-c9e5485f64a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_3ba433c3-3a3d-4f80-87d0-c9e5485f64a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_d2b7186e-4da0-4df4-b5a1-e728ca229222" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentProceedsToBePaidToLenderPercent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_d2b7186e-4da0-4df4-b5a1-e728ca229222" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_eb9e47d8-c0cc-4bf8-b60c-bbbc13d7abbc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_eb9e47d8-c0cc-4bf8-b60c-bbbc13d7abbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_2daa3b80-d0e2-485b-889f-bc7a56820858" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_bfbc46f3-1491-4579-b6da-e09d40b7d199" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_2daa3b80-d0e2-485b-889f-bc7a56820858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#DebtConvertibleNotesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_a99e4703-aeb8-4451-bc33-263d1ec5841f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_a99e4703-aeb8-4451-bc33-263d1ec5841f" xlink:to="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_c40eb000-b26d-481a-94a9-ad1f719748b7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_c40eb000-b26d-481a-94a9-ad1f719748b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_2adc9488-93a3-4e65-aa02-4ae1f6f269cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_c40eb000-b26d-481a-94a9-ad1f719748b7" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_2adc9488-93a3-4e65-aa02-4ae1f6f269cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_bbcfe1a0-ab10-4d5b-86cb-31a289c12246" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_2adc9488-93a3-4e65-aa02-4ae1f6f269cf" xlink:to="loc_us-gaap_ConvertibleDebtMember_bbcfe1a0-ab10-4d5b-86cb-31a289c12246" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_22ea05e7-daf2-40e2-9c47-7a9f4e882c89" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_22ea05e7-daf2-40e2-9c47-7a9f4e882c89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_a94a9330-62e7-445c-bcde-f9053092157b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_22ea05e7-daf2-40e2-9c47-7a9f4e882c89" xlink:to="loc_us-gaap_EquityComponentDomain_a94a9330-62e7-445c-bcde-f9053092157b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_7cf8bba5-9185-49e7-9efe-ccc368e7ca71" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_a94a9330-62e7-445c-bcde-f9053092157b" xlink:to="loc_us-gaap_PreferredStockMember_7cf8bba5-9185-49e7-9efe-ccc368e7ca71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_3ada1b2d-1fe2-4d32-82b3-eb5bea8a7aab" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_a94a9330-62e7-445c-bcde-f9053092157b" xlink:to="loc_us-gaap_CommonStockMember_3ada1b2d-1fe2-4d32-82b3-eb5bea8a7aab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_fbca52e4-be7b-4058-9abe-9916b66f3f3d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:to="loc_us-gaap_StatementClassOfStockAxis_fbca52e4-be7b-4058-9abe-9916b66f3f3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_f4a01e18-ba3a-4299-a241-b78f66b1c252" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_fbca52e4-be7b-4058-9abe-9916b66f3f3d" xlink:to="loc_us-gaap_ClassOfStockDomain_f4a01e18-ba3a-4299-a241-b78f66b1c252" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_8394f9fb-45c4-404d-99de-a9ea8ce6a02e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_f4a01e18-ba3a-4299-a241-b78f66b1c252" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_8394f9fb-45c4-404d-99de-a9ea8ce6a02e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_d6058217-fc89-42ab-aa5b-c8db4c16be1a" xlink:to="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_0e11bc47-9325-447f-9c3a-524528a1682c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt_0e11bc47-9325-447f-9c3a-524528a1682c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt_de61c58a-4a21-41a1-8a81-d1ee3445aed2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtConversionOriginalDebtInterestRateOfDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt_de61c58a-4a21-41a1-8a81-d1ee3445aed2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_06c6deaa-8889-487d-8e73-d766d6c26c4a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_06c6deaa-8889-487d-8e73-d766d6c26c4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_AccumulatedInterestOnSubordinatedDebt_5efd1aee-bd67-4036-a739-36810fc2d204" xlink:href="efoi-20211231.xsd#efoi_AccumulatedInterestOnSubordinatedDebt"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_efoi_AccumulatedInterestOnSubordinatedDebt_5efd1aee-bd67-4036-a739-36810fc2d204" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_91b6176c-ae98-4d8a-bfec-808369abd2d5" xlink:href="efoi-20211231.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_91b6176c-ae98-4d8a-bfec-808369abd2d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_d413d717-759b-4040-8e8d-fbde0fee20fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_d413d717-759b-4040-8e8d-fbde0fee20fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_bc0420c3-5d10-4efb-87e5-88c8d860c7bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_bc0420c3-5d10-4efb-87e5-88c8d860c7bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_0202052c-2068-4dc9-86df-200701f7aa95" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_0202052c-2068-4dc9-86df-200701f7aa95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_6320d5fe-54c2-4589-9fd9-bea162abbc13" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_6320d5fe-54c2-4589-9fd9-bea162abbc13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_c4334871-f45c-4637-90dc-ea59508ea1ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_c4334871-f45c-4637-90dc-ea59508ea1ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_fe4489b5-42e2-4413-a31c-3935fc87be89" xlink:href="efoi-20211231.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_c5338d17-4a16-4562-8811-d403cbdf7cf7" xlink:to="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_fe4489b5-42e2-4413-a31c-3935fc87be89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="efoi-20211231.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_d320c86e-a9b3-4aa8-b9b3-2749fe4295a2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_693ae811-3955-4339-ae6a-46077f62f495" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_d320c86e-a9b3-4aa8-b9b3-2749fe4295a2" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_693ae811-3955-4339-ae6a-46077f62f495" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#CommitmentsandContingenciesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_4d0cac29-8ab1-4cb6-88c8-7fad9d89b2a5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_32d9457d-0fff-4ed7-9b91-5391e47c6e81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_4d0cac29-8ab1-4cb6-88c8-7fad9d89b2a5" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_32d9457d-0fff-4ed7-9b91-5391e47c6e81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementScenarioAxis_2164eea8-3acc-42bd-8c3f-553b9f516eae" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementScenarioAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_32d9457d-0fff-4ed7-9b91-5391e47c6e81" xlink:to="loc_srt_StatementScenarioAxis_2164eea8-3acc-42bd-8c3f-553b9f516eae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioUnspecifiedDomain_44a36853-0614-47f5-984f-710f8415b825" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioUnspecifiedDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementScenarioAxis_2164eea8-3acc-42bd-8c3f-553b9f516eae" xlink:to="loc_srt_ScenarioUnspecifiedDomain_44a36853-0614-47f5-984f-710f8415b825" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScenarioForecastMember_fa0f354b-e23f-49f7-8cad-555015d37f6b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScenarioForecastMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ScenarioUnspecifiedDomain_44a36853-0614-47f5-984f-710f8415b825" xlink:to="loc_srt_ScenarioForecastMember_fa0f354b-e23f-49f7-8cad-555015d37f6b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_5066d55e-09f2-4fc4-b37d-f2d97e837e86" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionContingentConsiderationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable_32d9457d-0fff-4ed7-9b91-5391e47c6e81" xlink:to="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_5066d55e-09f2-4fc4-b37d-f2d97e837e86" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PurchaseObligation_46917329-c913-491e-9ae6-566a9f8df1b8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PurchaseObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_5066d55e-09f2-4fc4-b37d-f2d97e837e86" xlink:to="loc_us-gaap_PurchaseObligation_46917329-c913-491e-9ae6-566a9f8df1b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermPurchaseCommitmentAmount_a728e7df-0003-4691-8603-732603cf115b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongTermPurchaseCommitmentAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionContingentConsiderationLineItems_5066d55e-09f2-4fc4-b37d-f2d97e837e86" xlink:to="loc_us-gaap_LongTermPurchaseCommitmentAmount_a728e7df-0003-4691-8603-732603cf115b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquity" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_60fea7ec-a575-4dca-97d0-62811ea739b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_105fd82f-7e64-472b-b63c-af8a967deeee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_60fea7ec-a575-4dca-97d0-62811ea739b2" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_105fd82f-7e64-472b-b63c-af8a967deeee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_b14407ea-d104-4c86-8d65-2693dce99c8a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_078fdf3e-ca3b-4fdb-9711-3483d497d06c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b14407ea-d104-4c86-8d65-2693dce99c8a" xlink:to="loc_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_078fdf3e-ca3b-4fdb-9711-3483d497d06c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_b41db9c6-b80d-4834-9ada-b76a24cce7c6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b14407ea-d104-4c86-8d65-2693dce99c8a" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_b41db9c6-b80d-4834-9ada-b76a24cce7c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_41ce2d30-aa26-478a-bd04-9413f7259465" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b14407ea-d104-4c86-8d65-2693dce99c8a" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_41ce2d30-aa26-478a-bd04-9413f7259465" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_abafe059-97a3-42c3-b707-95cfaff8dd14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b14407ea-d104-4c86-8d65-2693dce99c8a" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_abafe059-97a3-42c3-b707-95cfaff8dd14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_71a542c6-8e9b-4c47-ad4a-ce5961d5921b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b14407ea-d104-4c86-8d65-2693dce99c8a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_71a542c6-8e9b-4c47-ad4a-ce5961d5921b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_94412aff-81aa-4013-ac43-07539c3708a0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b14407ea-d104-4c86-8d65-2693dce99c8a" xlink:to="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_94412aff-81aa-4013-ac43-07539c3708a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityDecember2021PrivatePlacementDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_b45a7334-746b-4fb0-9e3d-adbb594efc78" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_b45a7334-746b-4fb0-9e3d-adbb594efc78" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_4c6054a2-d4ba-4971-bd20-257e2756dcda" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_4c6054a2-d4ba-4971-bd20-257e2756dcda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1312cba1-a450-45c8-8a28-afe4f32884db" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_4c6054a2-d4ba-4971-bd20-257e2756dcda" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1312cba1-a450-45c8-8a28-afe4f32884db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_b3c385c0-248c-4f1e-9501-fc5e09805d06" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_1312cba1-a450-45c8-8a28-afe4f32884db" xlink:to="loc_efoi_December2021PrivatePlacementMember_b3c385c0-248c-4f1e-9501-fc5e09805d06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_03a748ab-0525-4486-99e6-cf5cc918a294" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_03a748ab-0525-4486-99e6-cf5cc918a294" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_20a648e1-10ad-4d87-bc08-d9f23cb3e8f6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_03a748ab-0525-4486-99e6-cf5cc918a294" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_20a648e1-10ad-4d87-bc08-d9f23cb3e8f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_b61d3419-b904-488d-91c7-8209693495bd" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_20a648e1-10ad-4d87-bc08-d9f23cb3e8f6" xlink:to="loc_efoi_PreFundedWarrantsMember_b61d3419-b904-488d-91c7-8209693495bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_15516d5e-3c8d-4438-beda-b590046c5e8d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_20a648e1-10ad-4d87-bc08-d9f23cb3e8f6" xlink:to="loc_us-gaap_WarrantMember_15516d5e-3c8d-4438-beda-b590046c5e8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_bade232f-722a-4d6d-814a-5736dca3a909" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_abceb8aa-0213-4f0e-a57b-acdc755935a4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_abceb8aa-0213-4f0e-a57b-acdc755935a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_d98d5260-5745-47f7-be3e-3d86a90267ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_d98d5260-5745-47f7-be3e-3d86a90267ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_9369ae2b-747c-46fe-aa12-12c47a670f1a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_9369ae2b-747c-46fe-aa12-12c47a670f1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_a90a5399-408b-4158-b5c7-28ebe747d95f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_a90a5399-408b-4158-b5c7-28ebe747d95f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_b02e1cd2-6520-4391-8206-628d4b27b9c9" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_b02e1cd2-6520-4391-8206-628d4b27b9c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_36bf3a54-dc0e-4f52-a194-a5bb8a68227b" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_36bf3a54-dc0e-4f52-a194-a5bb8a68227b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_866e25f4-b285-4d51-9326-85bc89d8fe16" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_PaymentsForClearingFees_866e25f4-b285-4d51-9326-85bc89d8fe16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_f51ec937-3f11-4f55-9a90-ce1afb5f86bb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_f51ec937-3f11-4f55-9a90-ce1afb5f86bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_baa12ce5-67f2-490f-94a6-b7e55edc9a6c" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_baa12ce5-67f2-490f-94a6-b7e55edc9a6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_b7773aad-44cc-4500-8cd2-ce7641fe845c" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_b7773aad-44cc-4500-8cd2-ce7641fe845c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_4256f2d1-29d6-4843-ae76-2d9fcf705196" xlink:href="efoi-20211231.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_1ed0cb22-d8af-4ffe-a7c0-d000d4e876ac" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_4256f2d1-29d6-4843-ae76-2d9fcf705196" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_524eb2f8-abe0-448f-949d-3c72b8070fc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_524eb2f8-abe0-448f-949d-3c72b8070fc5" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_19eca4c7-fca9-4c5c-a081-b82cf4b496f2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_c5ae2d47-31de-4b9c-a968-0f4a2dd4e795" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_19eca4c7-fca9-4c5c-a081-b82cf4b496f2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_December2021PrivatePlacementMember_9e740e04-ba3b-4511-80e3-4fb1f970405c" xlink:href="efoi-20211231.xsd#efoi_December2021PrivatePlacementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_19eca4c7-fca9-4c5c-a081-b82cf4b496f2" xlink:to="loc_efoi_December2021PrivatePlacementMember_9e740e04-ba3b-4511-80e3-4fb1f970405c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_f01e9232-d9df-4ecb-b8c2-7640267e25e9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_f01e9232-d9df-4ecb-b8c2-7640267e25e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_874ff203-bc12-43f3-ac8c-bed7550f2b9e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_f01e9232-d9df-4ecb-b8c2-7640267e25e9" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_874ff203-bc12-43f3-ac8c-bed7550f2b9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WarrantMember_e6879e86-7154-4ad9-961b-b8f688fec4dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_874ff203-bc12-43f3-ac8c-bed7550f2b9e" xlink:to="loc_us-gaap_WarrantMember_e6879e86-7154-4ad9-961b-b8f688fec4dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PreFundedWarrantsMember_ecdba9dc-afb6-47c3-b960-324c910e4264" xlink:href="efoi-20211231.xsd#efoi_PreFundedWarrantsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightDomain_874ff203-bc12-43f3-ac8c-bed7550f2b9e" xlink:to="loc_efoi_PreFundedWarrantsMember_ecdba9dc-afb6-47c3-b960-324c910e4264" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9408adac-694a-43af-9541-9f3e2a763710" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_f656bfcc-8bbc-42e7-9e84-ce3d092cebaa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9408adac-694a-43af-9541-9f3e2a763710" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_48f71c8d-27f3-4212-9ec1-2fbc3540995d" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9408adac-694a-43af-9541-9f3e2a763710" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_48f71c8d-27f3-4212-9ec1-2fbc3540995d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_9dc485b6-a54a-4cdd-a94d-d8980ae058bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_9408adac-694a-43af-9541-9f3e2a763710" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_9dc485b6-a54a-4cdd-a94d-d8980ae058bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityJune2021EquityOfferingDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_a9b87998-e4e6-4d84-a2e0-3d5708b49eef" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2b421a28-b023-4d19-b73f-8dbfd1f8ed90" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_a9b87998-e4e6-4d84-a2e0-3d5708b49eef" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2b421a28-b023-4d19-b73f-8dbfd1f8ed90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_88532dc8-7c0b-45f2-82e2-d784b75ff564" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2b421a28-b023-4d19-b73f-8dbfd1f8ed90" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_88532dc8-7c0b-45f2-82e2-d784b75ff564" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_8553313f-da8f-4966-95a8-d03d5f87974c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_88532dc8-7c0b-45f2-82e2-d784b75ff564" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_8553313f-da8f-4966-95a8-d03d5f87974c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_b30619be-142e-4abd-8e6c-8f60c581bbf8" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_8553313f-da8f-4966-95a8-d03d5f87974c" xlink:to="loc_efoi_InstitutionalInvestorMember_b30619be-142e-4abd-8e6c-8f60c581bbf8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2b421a28-b023-4d19-b73f-8dbfd1f8ed90" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_731cd7bc-9e4a-4a5a-9ebb-709107398926" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_731cd7bc-9e4a-4a5a-9ebb-709107398926" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_ba557aad-e31f-4f49-a4f8-d407c62f500e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_ba557aad-e31f-4f49-a4f8-d407c62f500e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_fde81f79-5c51-4279-ab95-d7d83376906a" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_fde81f79-5c51-4279-ab95-d7d83376906a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_92413572-2a8a-4ca1-907c-44d01e583792" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_92413572-2a8a-4ca1-907c-44d01e583792" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_53190291-a8c5-4b5f-9f98-de93bdd27c6a" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_efoi_PaymentsForClearingFees_53190291-a8c5-4b5f-9f98-de93bdd27c6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_10d85870-921b-4182-8371-262e94ca6283" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_10d85870-921b-4182-8371-262e94ca6283" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_61f4f427-2748-4baf-a1e8-4a5fa22794e3" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3996c3f7-1bfa-44da-8fbc-723bc7b9cfdc" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_61f4f427-2748-4baf-a1e8-4a5fa22794e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityPreferredStockDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_ec7cc028-56f5-4e8e-aea9-6ec8efc41455" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_ec7cc028-56f5-4e8e-aea9-6ec8efc41455" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_e958da04-4ccb-4cac-9ece-c9e8bb63edad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_e958da04-4ccb-4cac-9ece-c9e8bb63edad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_c605de98-4f32-4e42-94bf-7cc1fe09326f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_e958da04-4ccb-4cac-9ece-c9e8bb63edad" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_c605de98-4f32-4e42-94bf-7cc1fe09326f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertibleDebtMember_ca94c1ea-faaf-4447-81e6-e6deefdad1fb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertibleDebtMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_c605de98-4f32-4e42-94bf-7cc1fe09326f" xlink:to="loc_us-gaap_ConvertibleDebtMember_ca94c1ea-faaf-4447-81e6-e6deefdad1fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_b5f49b43-25b3-435a-adde-bb273643d420" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_b5f49b43-25b3-435a-adde-bb273643d420" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_9b23c239-2707-4112-8613-87d62d8f6e97" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_b5f49b43-25b3-435a-adde-bb273643d420" xlink:to="loc_us-gaap_EquityComponentDomain_9b23c239-2707-4112-8613-87d62d8f6e97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockMember_cdbfb1b5-7996-4dbd-8b86-4212deb3729b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_9b23c239-2707-4112-8613-87d62d8f6e97" xlink:to="loc_us-gaap_PreferredStockMember_cdbfb1b5-7996-4dbd-8b86-4212deb3729b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_70581a12-5f6a-4af7-bd24-6edc7798b26d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_9b23c239-2707-4112-8613-87d62d8f6e97" xlink:to="loc_us-gaap_CommonStockMember_70581a12-5f6a-4af7-bd24-6edc7798b26d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementClassOfStockAxis_dda9f240-bce6-466d-b3ac-040eefe32dd7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_us-gaap_StatementClassOfStockAxis_dda9f240-bce6-466d-b3ac-040eefe32dd7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfStockDomain_d87fc9b7-0ea6-467d-abfc-2bdedda2ff9e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_dda9f240-bce6-466d-b3ac-040eefe32dd7" xlink:to="loc_us-gaap_ClassOfStockDomain_d87fc9b7-0ea6-467d-abfc-2bdedda2ff9e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockMember_1f12867e-19d3-434b-b6f6-eaa20d5c9cad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_d87fc9b7-0ea6-467d-abfc-2bdedda2ff9e" xlink:to="loc_us-gaap_ConvertiblePreferredStockMember_1f12867e-19d3-434b-b6f6-eaa20d5c9cad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_CounterpartyNameAxis_25beb975-1963-4ab6-a00e-9cc9518f69d2" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_CounterpartyNameAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_srt_CounterpartyNameAxis_25beb975-1963-4ab6-a00e-9cc9518f69d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RepurchaseAgreementCounterpartyNameDomain_4da11bdd-34ed-439b-8922-40c7de8e680d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CounterpartyNameAxis_25beb975-1963-4ab6-a00e-9cc9518f69d2" xlink:to="loc_srt_RepurchaseAgreementCounterpartyNameDomain_4da11bdd-34ed-439b-8922-40c7de8e680d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FusionParkLLCMember_5aa5b0da-2c8c-4c4e-a1f6-dd70a91115b5" xlink:href="efoi-20211231.xsd#efoi_FusionParkLLCMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RepurchaseAgreementCounterpartyNameDomain_4da11bdd-34ed-439b-8922-40c7de8e680d" xlink:to="loc_efoi_FusionParkLLCMember_5aa5b0da-2c8c-4c4e-a1f6-dd70a91115b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_BrilliantStartEnterpriseInc.Member_9284283b-c58e-4254-a26a-5befbdba727f" xlink:href="efoi-20211231.xsd#efoi_BrilliantStartEnterpriseInc.Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RepurchaseAgreementCounterpartyNameDomain_4da11bdd-34ed-439b-8922-40c7de8e680d" xlink:to="loc_efoi_BrilliantStartEnterpriseInc.Member_9284283b-c58e-4254-a26a-5befbdba727f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ebe65d22-be8f-4f22-b418-773b294dab05" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_12b38f32-980a-4a11-89e3-1ad83060a43e" xlink:href="efoi-20211231.xsd#efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock_12b38f32-980a-4a11-89e3-1ad83060a43e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_bf44cb11-c947-4a2b-ae6f-2b62b065da6f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_DebtInstrumentConvertibleConversionPrice1_bf44cb11-c947-4a2b-ae6f-2b62b065da6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_a316880a-b973-4915-80be-ab6bd3324446" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesNewIssues_a316880a-b973-4915-80be-ab6bd3324446" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_629f66e8-01ab-4694-969f-634b12f70aff" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_629f66e8-01ab-4694-969f-634b12f70aff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_b309ee1a-07b8-47da-b06b-bda9ac37b7f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion_b309ee1a-07b8-47da-b06b-bda9ac37b7f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_aab50bb4-fc2c-4fe5-933a-2545690f62c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_aab50bb4-fc2c-4fe5-933a-2545690f62c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_81507c13-5653-4580-b9b4-25d9493d9dcb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_81507c13-5653-4580-b9b4-25d9493d9dcb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_35304ed7-b919-4705-b793-e28b106ce6f9" xlink:href="efoi-20211231.xsd#efoi_PercentageOfSeriesAPreferredStockEligibleToVote"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_70b784e3-e66e-4166-b690-2e8dd6803981" xlink:to="loc_efoi_PercentageOfSeriesAPreferredStockEligibleToVote_35304ed7-b919-4705-b793-e28b106ce6f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquity1for5ReverseStockSplitDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquity1for5ReverseStockSplitDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquity1for5ReverseStockSplitDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_0e197153-a06f-4a30-8696-b23a701a08fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_3e1e5125-7e79-4d25-acab-5fb863857224" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteStockSplitConversionRatio1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_0e197153-a06f-4a30-8696-b23a701a08fd" xlink:to="loc_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1_3e1e5125-7e79-4d25-acab-5fb863857224" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_b38c31c8-6283-44e7-bce7-7086867685fc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_0e197153-a06f-4a30-8696-b23a701a08fd" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_b38c31c8-6283-44e7-bce7-7086867685fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_704abd0c-e852-442a-9238-e9f0f6a8b22c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_0e197153-a06f-4a30-8696-b23a701a08fd" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_704abd0c-e852-442a-9238-e9f0f6a8b22c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityJanuary2020EquityOfferingDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_afb78003-2485-4f97-965d-5fda102f4aee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_afb78003-2485-4f97-965d-5fda102f4aee" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_cb40150b-ef15-47ba-88ed-bdbb993abe14" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_cb40150b-ef15-47ba-88ed-bdbb993abe14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_2700a3ac-8db2-47fd-ab9e-136bfddbb169" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_cb40150b-ef15-47ba-88ed-bdbb993abe14" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_2700a3ac-8db2-47fd-ab9e-136bfddbb169" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020InstitutionalInvestorMember_31d6880a-200d-47e6-8b06-24d312b3f8f1" xlink:href="efoi-20211231.xsd#efoi_January2020InstitutionalInvestorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_2700a3ac-8db2-47fd-ab9e-136bfddbb169" xlink:to="loc_efoi_January2020InstitutionalInvestorMember_31d6880a-200d-47e6-8b06-24d312b3f8f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_d8a6a964-e8a6-48be-924e-838bb1a2ea81" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_2700a3ac-8db2-47fd-ab9e-136bfddbb169" xlink:to="loc_efoi_January2020EquityOfferingMember_d8a6a964-e8a6-48be-924e-838bb1a2ea81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_34a05233-e0ed-4179-a233-9fec4035007a" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_January2020EquityOfferingMember_d8a6a964-e8a6-48be-924e-838bb1a2ea81" xlink:to="loc_efoi_InstitutionalInvestorMember_34a05233-e0ed-4179-a233-9fec4035007a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember_ec430fb0-5231-4c6e-b6fd-fe75e03883a5" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_January2020EquityOfferingMember_d8a6a964-e8a6-48be-924e-838bb1a2ea81" xlink:to="loc_efoi_January2020EquityOfferingPrivatePlacementMember_ec430fb0-5231-4c6e-b6fd-fe75e03883a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:to="loc_us-gaap_DebtInstrumentAxis_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_222ef2ed-2a43-4901-ac3b-1e66c1103ea3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_13e4dfdb-ee33-4a0c-bfd7-4eadc19f9491" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_222ef2ed-2a43-4901-ac3b-1e66c1103ea3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_IliadNotePurchaseAgreementMember_64881928-64b0-4598-bfc0-9717d4851297" xlink:href="efoi-20211231.xsd#efoi_IliadNotePurchaseAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_222ef2ed-2a43-4901-ac3b-1e66c1103ea3" xlink:to="loc_efoi_IliadNotePurchaseAgreementMember_64881928-64b0-4598-bfc0-9717d4851297" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9f4c356-fa45-40ec-81c9-3b47e6305b25" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_1985d965-fa4b-479d-8e52-496625e28596" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_1985d965-fa4b-479d-8e52-496625e28596" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_4ec5c6e7-47e7-4b4c-97e9-0e518eadac23" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_4ec5c6e7-47e7-4b4c-97e9-0e518eadac23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_7168a15f-e3f3-4984-bebd-569dc4a24e2e" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare_7168a15f-e3f3-4984-bebd-569dc4a24e2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForPlacementAgentCommissions_c13753da-2e23-4451-91cd-a6913a38618a" xlink:href="efoi-20211231.xsd#efoi_PaymentsForPlacementAgentCommissions"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_PaymentsForPlacementAgentCommissions_c13753da-2e23-4451-91cd-a6913a38618a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_f1ed9757-cc71-4948-b524-d118f8a14bac" xlink:href="efoi-20211231.xsd#efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement_f1ed9757-cc71-4948-b524-d118f8a14bac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentsForClearingFees_3a1b8c01-22c5-42be-8a9b-7abfa1962b4f" xlink:href="efoi-20211231.xsd#efoi_PaymentsForClearingFees"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_PaymentsForClearingFees_3a1b8c01-22c5-42be-8a9b-7abfa1962b4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfStockIssuanceCosts_c7a96396-80be-4283-9f91-190604597c47" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_PaymentsOfStockIssuanceCosts_c7a96396-80be-4283-9f91-190604597c47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_c2940049-fa28-49d4-b377-37cba364712b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights_c2940049-fa28-49d4-b377-37cba364712b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_90bc8d8b-04f0-4836-ba53-09f3faee4d2f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_90bc8d8b-04f0-4836-ba53-09f3faee4d2f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_7a9bc82d-e00c-4769-98cc-f71060f8de56" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts_7a9bc82d-e00c-4769-98cc-f71060f8de56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_210b8e24-6c32-457d-aec5-4da051f2395f" xlink:href="efoi-20211231.xsd#efoi_DebtInstrumentProceedsToBePaidToLenderPercent"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_DebtInstrumentProceedsToBePaidToLenderPercent_210b8e24-6c32-457d-aec5-4da051f2395f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_0afdc60d-ccc6-436b-ae06-bd8c96c3f829" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ProceedsFromIssuanceOrSaleOfEquity_0afdc60d-ccc6-436b-ae06-bd8c96c3f829" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfNotesPayable_4e9e580f-4b51-487d-a4fb-3e3c376e4f64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RepaymentsOfNotesPayable"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_RepaymentsOfNotesPayable_4e9e580f-4b51-487d-a4fb-3e3c376e4f64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_56f973b7-e3b5-4aae-ae75-1f742406903a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_56f973b7-e3b5-4aae-ae75-1f742406903a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromWarrantExercises_a86be42c-eae0-4782-b99c-9595cfa93cc1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromWarrantExercises"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_us-gaap_ProceedsFromWarrantExercises_a86be42c-eae0-4782-b99c-9595cfa93cc1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_7f8db019-15bb-4bc8-a7e3-d217318d65ef" xlink:href="efoi-20211231.xsd#efoi_EstimatedProceedsFromIssuanceOfWarrants"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0d406244-66e5-4c34-91b7-c7b2d7222bb7" xlink:to="loc_efoi_EstimatedProceedsFromIssuanceOfWarrants_7f8db019-15bb-4bc8-a7e3-d217318d65ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_f3a91e2b-3e20-4857-b200-68bdf3a945eb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f3a91e2b-3e20-4857-b200-68bdf3a945eb" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightAxis_1c9eb913-d803-43f0-8a52-b388890c2f7b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:to="loc_us-gaap_ClassOfWarrantOrRightAxis_1c9eb913-d803-43f0-8a52-b388890c2f7b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightDomain_05b8c4dc-a07f-4d30-bc08-51f849092146" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfWarrantOrRightAxis_1c9eb913-d803-43f0-8a52-b388890c2f7b" xlink:to="loc_us-gaap_ClassOfWarrantOrRightDomain_05b8c4dc-a07f-4d30-bc08-51f849092146" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsidiarySaleOfStockAxis_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:to="loc_us-gaap_SubsidiarySaleOfStockAxis_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9db2cea8-41e6-4aac-8194-ced07fac07dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsidiarySaleOfStockAxis_43ad8cc5-2ea1-4cfb-928f-1bc3af180e1b" xlink:to="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9db2cea8-41e6-4aac-8194-ced07fac07dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingMember_f2785059-7954-4404-bbb7-5f2ce28b33c9" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleOfStockNameOfTransactionDomain_9db2cea8-41e6-4aac-8194-ced07fac07dc" xlink:to="loc_efoi_January2020EquityOfferingMember_f2785059-7954-4404-bbb7-5f2ce28b33c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InstitutionalInvestorMember_e967c253-a0a1-44aa-b9f3-a5c5e926cafb" xlink:href="efoi-20211231.xsd#efoi_InstitutionalInvestorMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_January2020EquityOfferingMember_f2785059-7954-4404-bbb7-5f2ce28b33c9" xlink:to="loc_efoi_InstitutionalInvestorMember_e967c253-a0a1-44aa-b9f3-a5c5e926cafb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_January2020EquityOfferingPrivatePlacementMember_1a9d0a59-ad57-4030-9876-be0b6ea276b8" xlink:href="efoi-20211231.xsd#efoi_January2020EquityOfferingPrivatePlacementMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_January2020EquityOfferingMember_f2785059-7954-4404-bbb7-5f2ce28b33c9" xlink:to="loc_efoi_January2020EquityOfferingPrivatePlacementMember_1a9d0a59-ad57-4030-9876-be0b6ea276b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_ae4d01b5-45e0-4b30-a048-345badef6fe5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_fd577c0d-eaf9-4855-a909-a4014ed05768" xlink:href="efoi-20211231.xsd#efoi_ClassOfWarrantOrRightWarrantsIssued"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:to="loc_efoi_ClassOfWarrantOrRightWarrantsIssued_fd577c0d-eaf9-4855-a909-a4014ed05768" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleOfStockPricePerShare_66207c68-3cff-418d-89f2-dc230fd2dc74" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:to="loc_us-gaap_SaleOfStockPricePerShare_66207c68-3cff-418d-89f2-dc230fd2dc74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_c4fd946f-3dcd-44da-9e13-7d6b449f9143" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_d71a0b1f-a86e-49af-bbb3-d24ba9de8ad0" xlink:to="loc_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1_c4fd946f-3dcd-44da-9e13-7d6b449f9143" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityStockbasedCompensationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_32a52535-2415-44a0-8f75-c526005ed1a1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_32a52535-2415-44a0-8f75-c526005ed1a1" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_us-gaap_PlanNameAxis_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_51ebf664-e129-4e30-b975-f5c5c828307a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_9d7e00c3-aa51-4b7d-bdff-4ff2f1ce58d5" xlink:to="loc_us-gaap_PlanNameDomain_51ebf664-e129-4e30-b975-f5c5c828307a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2020Member_64e10004-8aee-4cc9-b6b2-6067ed90cd60" xlink:href="efoi-20211231.xsd#efoi_Plan2020Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_51ebf664-e129-4e30-b975-f5c5c828307a" xlink:to="loc_efoi_Plan2020Member_64e10004-8aee-4cc9-b6b2-6067ed90cd60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2014Member_30ed662f-0483-4867-9002-397880692fdb" xlink:href="efoi-20211231.xsd#efoi_Plan2014Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_51ebf664-e129-4e30-b975-f5c5c828307a" xlink:to="loc_efoi_Plan2014Member_30ed662f-0483-4867-9002-397880692fdb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_srt_RangeAxis_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_042b6b8e-a2f0-4d62-9c22-18abced7d48c" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_d62d7bf9-6e46-46f8-9598-f4fe3f83c9b1" xlink:to="loc_srt_RangeMember_042b6b8e-a2f0-4d62-9c22-18abced7d48c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_c0ed4f18-16f2-4f89-aff2-2630df533742" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_042b6b8e-a2f0-4d62-9c22-18abced7d48c" xlink:to="loc_srt_MinimumMember_c0ed4f18-16f2-4f89-aff2-2630df533742" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_567b96c6-c8cf-4916-9092-08735af015dd" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_042b6b8e-a2f0-4d62-9c22-18abced7d48c" xlink:to="loc_srt_MaximumMember_567b96c6-c8cf-4916-9092-08735af015dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_2b81c2dc-0995-402f-9308-2f0f461dbbcd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_us-gaap_AwardTypeAxis_2b81c2dc-0995-402f-9308-2f0f461dbbcd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8d8c453-6485-4955-9b59-87cd76987576" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_2b81c2dc-0995-402f-9308-2f0f461dbbcd" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8d8c453-6485-4955-9b59-87cd76987576" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_c10cf637-b283-417a-96e1-e1ecac291463" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b8d8c453-6485-4955-9b59-87cd76987576" xlink:to="loc_us-gaap_EmployeeStockOptionMember_c10cf637-b283-417a-96e1-e1ecac291463" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_aef09b1e-2669-446c-ac6c-a897cdecf6ca" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_srt_TitleOfIndividualAxis_aef09b1e-2669-446c-ac6c-a897cdecf6ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_ce4ccc6b-f50c-482a-9e28-6416a8105d1a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_aef09b1e-2669-446c-ac6c-a897cdecf6ca" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_ce4ccc6b-f50c-482a-9e28-6416a8105d1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployeeMember_3e2e3d25-e731-4e54-995c-1cf9f5ed7370" xlink:href="efoi-20211231.xsd#efoi_EmployeeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_ce4ccc6b-f50c-482a-9e28-6416a8105d1a" xlink:to="loc_efoi_EmployeeMember_3e2e3d25-e731-4e54-995c-1cf9f5ed7370" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_NonEmployeeDirectorMember_aae7f7c3-005a-46d9-a532-789cf332347b" xlink:href="efoi-20211231.xsd#efoi_NonEmployeeDirectorMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_ce4ccc6b-f50c-482a-9e28-6416a8105d1a" xlink:to="loc_efoi_NonEmployeeDirectorMember_aae7f7c3-005a-46d9-a532-789cf332347b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_79fa5608-215f-48c8-9c7d-6daa285c6896" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_83e52ce5-aecd-4ace-bb05-d7c376f2fce7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_83e52ce5-aecd-4ace-bb05-d7c376f2fce7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_45ff4392-516b-4dd0-a547-fadc846dd23b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_45ff4392-516b-4dd0-a547-fadc846dd23b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_02d3d1aa-8c3d-4cf0-9e62-5a323af55545" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_02d3d1aa-8c3d-4cf0-9e62-5a323af55545" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_15e29c06-b0c6-4fe9-b378-605b68022b00" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_15e29c06-b0c6-4fe9-b378-605b68022b00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_ae3720fd-0c9d-4109-bdd8-d283e677f5f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_888793f1-87aa-48b3-a00a-ec911d1a1e41" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_ae3720fd-0c9d-4109-bdd8-d283e677f5f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityImpactofResultsforStockBasedCompensationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_bd6681b2-93ad-48ee-b5ba-1628334db938" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a5f358ee-2fa6-4431-8885-e076bc7e509c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_bd6681b2-93ad-48ee-b5ba-1628334db938" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a5f358ee-2fa6-4431-8885-e076bc7e509c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_040ec5b6-c212-4214-a9bf-954040f9313c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a5f358ee-2fa6-4431-8885-e076bc7e509c" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_040ec5b6-c212-4214-a9bf-954040f9313c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_040ec5b6-c212-4214-a9bf-954040f9313c" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_fa0df541-b7d7-4a69-ae32-ebd25bc8cc19" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:to="loc_us-gaap_CostOfSalesMember_fa0df541-b7d7-4a69-ae32-ebd25bc8cc19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_282c480d-f082-4541-badd-07425e98e66a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_282c480d-f082-4541-badd-07425e98e66a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_bf3075d0-1afc-4c25-83d9-8b67eea25b64" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_1aaa0ef3-c9e1-476d-948d-df4388129b32" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_bf3075d0-1afc-4c25-83d9-8b67eea25b64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_c855eb79-1d48-4864-b04b-9085005fdef2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_a5f358ee-2fa6-4431-8885-e076bc7e509c" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_c855eb79-1d48-4864-b04b-9085005fdef2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_84a28ae1-8692-4adb-86e0-723fd8e5b2ca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_c855eb79-1d48-4864-b04b-9085005fdef2" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_84a28ae1-8692-4adb-86e0-723fd8e5b2ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityEstimatesUtilizedDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_410ef921-aa14-4e6e-a2d9-c9aee6b4d227" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9bf8d789-8d51-49a1-9c29-f794a8397f83" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_410ef921-aa14-4e6e-a2d9-c9aee6b4d227" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9bf8d789-8d51-49a1-9c29-f794a8397f83" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_c69ea352-1ad5-4d1a-8f12-57aada3a33b5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9bf8d789-8d51-49a1-9c29-f794a8397f83" xlink:to="loc_us-gaap_AwardTypeAxis_c69ea352-1ad5-4d1a-8f12-57aada3a33b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cc47b238-6fe7-43bb-8a07-6cb7afb8fae2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_c69ea352-1ad5-4d1a-8f12-57aada3a33b5" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cc47b238-6fe7-43bb-8a07-6cb7afb8fae2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_950f94d7-4825-4f8c-8175-6cacb7b4bd58" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_cc47b238-6fe7-43bb-8a07-6cb7afb8fae2" xlink:to="loc_us-gaap_EmployeeStockOptionMember_950f94d7-4825-4f8c-8175-6cacb7b4bd58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_9bf8d789-8d51-49a1-9c29-f794a8397f83" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_0baec93e-9592-407f-ad4e-e7ae97f359e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_0baec93e-9592-407f-ad4e-e7ae97f359e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_314e31f1-a527-4758-bc4b-d8ce0cea0132" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice_314e31f1-a527-4758-bc4b-d8ce0cea0132" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_8d0a2adb-bc3f-4736-aa24-6dee4b07c2dc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_8d0a2adb-bc3f-4736-aa24-6dee4b07c2dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_d0499bed-ecd1-40fc-890e-b428e87367c1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_d0499bed-ecd1-40fc-890e-b428e87367c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_c1b0a253-ec72-4db3-ad7b-96cba92018f0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_c1b0a253-ec72-4db3-ad7b-96cba92018f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_d48dfc04-a512-4dd0-a80a-ff7914c56c24" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3e5ae482-ee12-41a3-aba7-3ac21bb42fba" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_d48dfc04-a512-4dd0-a80a-ff7914c56c24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityStockOptionsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_a5dcde38-756a-43c1-8115-dde935efc6b0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_a5dcde38-756a-43c1-8115-dde935efc6b0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_fb8f17c8-0d78-4204-be46-066ac46f2521" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:to="loc_us-gaap_PlanNameAxis_fb8f17c8-0d78-4204-be46-066ac46f2521" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_4059a247-ed3e-4264-b6f4-c09becd373e0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_fb8f17c8-0d78-4204-be46-066ac46f2521" xlink:to="loc_us-gaap_PlanNameDomain_4059a247-ed3e-4264-b6f4-c09becd373e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2014Member_b7f1eeeb-693b-4765-855b-1fff7d975cfb" xlink:href="efoi-20211231.xsd#efoi_Plan2014Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_4059a247-ed3e-4264-b6f4-c09becd373e0" xlink:to="loc_efoi_Plan2014Member_b7f1eeeb-693b-4765-855b-1fff7d975cfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_54cf3e05-3f7b-4118-8ec2-8e9158a96754" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:to="loc_srt_RangeAxis_54cf3e05-3f7b-4118-8ec2-8e9158a96754" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a6717505-b9bb-44c0-8354-803c19f86ccf" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_54cf3e05-3f7b-4118-8ec2-8e9158a96754" xlink:to="loc_srt_RangeMember_a6717505-b9bb-44c0-8354-803c19f86ccf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_f66334c3-4cb9-4089-95e4-bd6a26a702a3" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_a6717505-b9bb-44c0-8354-803c19f86ccf" xlink:to="loc_srt_MinimumMember_f66334c3-4cb9-4089-95e4-bd6a26a702a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5f0334aa-2aac-43b0-93f4-2c3c9893cf07" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_a6717505-b9bb-44c0-8354-803c19f86ccf" xlink:to="loc_srt_MaximumMember_5f0334aa-2aac-43b0-93f4-2c3c9893cf07" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_e8d136a1-0349-4705-94e1-f6dbc6051132" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:to="loc_us-gaap_AwardTypeAxis_e8d136a1-0349-4705-94e1-f6dbc6051132" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4b30ac8e-3d24-4f35-a723-ea3944f79c74" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_e8d136a1-0349-4705-94e1-f6dbc6051132" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4b30ac8e-3d24-4f35-a723-ea3944f79c74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOptionMember_e8f27199-f021-4c2c-b5ec-b89195674d7f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_4b30ac8e-3d24-4f35-a723-ea3944f79c74" xlink:to="loc_us-gaap_EmployeeStockOptionMember_e8f27199-f021-4c2c-b5ec-b89195674d7f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_db0ffdbe-6545-499a-a5dd-52442a6777cd" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_21f60796-ba78-4dce-bc47-7612a8bf1fd8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_21f60796-ba78-4dce-bc47-7612a8bf1fd8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_fab47775-1b1e-48ab-b7ee-09c5c18e3bf3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_fab47775-1b1e-48ab-b7ee-09c5c18e3bf3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_eae84051-d3af-47f5-96ab-a51531299519" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_eae84051-d3af-47f5-96ab-a51531299519" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_6898e26f-8309-4faa-b36c-1afc758d7896" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_6898e26f-8309-4faa-b36c-1afc758d7896" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_691037f0-1f42-476a-91b7-c4dcf1f32c55" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_691037f0-1f42-476a-91b7-c4dcf1f32c55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharePrice_336f90c7-2f7c-443d-9b56-f3cb048913cd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharePrice"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68569a33-8c70-45a0-a153-130205f55a0e" xlink:to="loc_us-gaap_SharePrice_336f90c7-2f7c-443d-9b56-f3cb048913cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquitySummaryofOptionActivityDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_40bf67cd-944c-4029-b6f3-51e5dccd8027" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_1dabd410-c061-4695-845d-edcf9adfc213" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_40bf67cd-944c-4029-b6f3-51e5dccd8027" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_1dabd410-c061-4695-845d-edcf9adfc213" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_fc825e41-a678-4596-8885-2f4f14d6dc28" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_1dabd410-c061-4695-845d-edcf9adfc213" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_fc825e41-a678-4596-8885-2f4f14d6dc28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_5c1df37d-8c33-44ae-b037-d25f450a968b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_1dabd410-c061-4695-845d-edcf9adfc213" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_5c1df37d-8c33-44ae-b037-d25f450a968b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_83f18826-4af7-482c-a2d9-2448800b5c04" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_1dabd410-c061-4695-845d-edcf9adfc213" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_83f18826-4af7-482c-a2d9-2448800b5c04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_6715c01e-2b2d-4216-b725-113123045b2c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_1dabd410-c061-4695-845d-edcf9adfc213" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_6715c01e-2b2d-4216-b725-113123045b2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_e51bcfaa-1d15-4e35-a2a2-4dddaf49886b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_1dabd410-c061-4695-845d-edcf9adfc213" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_e51bcfaa-1d15-4e35-a2a2-4dddaf49886b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_560dc59c-0c44-4f04-aed5-f960afa89f1e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_1dabd410-c061-4695-845d-edcf9adfc213" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_560dc59c-0c44-4f04-aed5-f960afa89f1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_e05d3b30-926f-40cf-92b0-6ab664133b56" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_40bf67cd-944c-4029-b6f3-51e5dccd8027" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_e05d3b30-926f-40cf-92b0-6ab664133b56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_06ab9671-00fc-4e95-9a24-af41665368a9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_40bf67cd-944c-4029-b6f3-51e5dccd8027" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_06ab9671-00fc-4e95-9a24-af41665368a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb0635d8-6d0a-4bd0-9e23-d06a8066e504" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_40bf67cd-944c-4029-b6f3-51e5dccd8027" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb0635d8-6d0a-4bd0-9e23-d06a8066e504" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3d7dd562-d124-492e-9a7a-e4b16bba57aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb0635d8-6d0a-4bd0-9e23-d06a8066e504" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3d7dd562-d124-492e-9a7a-e4b16bba57aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_f801396e-b38e-4526-a0e2-224529fff32d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb0635d8-6d0a-4bd0-9e23-d06a8066e504" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_f801396e-b38e-4526-a0e2-224529fff32d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_9a570afa-946f-49e1-ac2e-393db4be6c5b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb0635d8-6d0a-4bd0-9e23-d06a8066e504" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_9a570afa-946f-49e1-ac2e-393db4be6c5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_2181ccd7-fc02-41ac-8fef-89bc5b7b0bf4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb0635d8-6d0a-4bd0-9e23-d06a8066e504" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_2181ccd7-fc02-41ac-8fef-89bc5b7b0bf4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_562ca511-5a46-42d2-b5e5-195b202283be" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb0635d8-6d0a-4bd0-9e23-d06a8066e504" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_562ca511-5a46-42d2-b5e5-195b202283be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_1d8bbffa-221b-4226-93f0-91b62ef7caad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_fb0635d8-6d0a-4bd0-9e23-d06a8066e504" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_1d8bbffa-221b-4226-93f0-91b62ef7caad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_e34627e9-4cf6-4c00-8b08-9312e61463b2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_40bf67cd-944c-4029-b6f3-51e5dccd8027" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_e34627e9-4cf6-4c00-8b08-9312e61463b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_e5d981a2-d46f-47d2-b9de-5d26262a11ae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_40bf67cd-944c-4029-b6f3-51e5dccd8027" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_e5d981a2-d46f-47d2-b9de-5d26262a11ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityOptionsOutstandingandExercisableDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_f051b1c1-27fe-4910-8cb1-adc8b6786ea5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_dee65f02-a67f-482d-873c-17c302342921" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f051b1c1-27fe-4910-8cb1-adc8b6786ea5" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_dee65f02-a67f-482d-873c-17c302342921" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_b17937a9-fa91-4df8-a071-941b982ef157" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_dee65f02-a67f-482d-873c-17c302342921" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_b17937a9-fa91-4df8-a071-941b982ef157" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_b17937a9-fa91-4df8-a071-941b982ef157" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeOneMember_7dccd022-7773-4aff-a248-0f3b10be1ee2" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeOneMember_7dccd022-7773-4aff-a248-0f3b10be1ee2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeTwoMember_3bbc53a3-3102-490f-b6be-e70996ed9de9" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeTwoMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeTwoMember_3bbc53a3-3102-490f-b6be-e70996ed9de9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeThreeMember_ad32761e-0921-42e2-84e8-c900cb20d71e" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeThreeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeThreeMember_ad32761e-0921-42e2-84e8-c900cb20d71e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeFourMember_7b7d7958-1fb4-49f0-8a1a-3d3c16b7a26a" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeFourMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeFourMember_7b7d7958-1fb4-49f0-8a1a-3d3c16b7a26a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ExercisePriceRangeFiveMember_6a6509c5-28d8-4036-8970-a908e50e4c0a" xlink:href="efoi-20211231.xsd#efoi_ExercisePriceRangeFiveMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_0df1e935-9840-4ff8-b2ad-f3c0fe8f5ff1" xlink:to="loc_efoi_ExercisePriceRangeFiveMember_6a6509c5-28d8-4036-8970-a908e50e4c0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_dee65f02-a67f-482d-873c-17c302342921" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_7907a4cb-53d7-455a-a20e-5cad4c122195" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_7907a4cb-53d7-455a-a20e-5cad4c122195" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_d5472edf-3a3b-42b1-824f-012706e7a575" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit_d5472edf-3a3b-42b1-824f-012706e7a575" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:href="efoi-20211231.xsd#efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_d561634d-8d10-452d-a598-b7334a89d81e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions_d561634d-8d10-452d-a598-b7334a89d81e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_f5ddc370-a374-4774-ad5b-65db60db22d0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:to="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2_f5ddc370-a374-4774-ad5b-65db60db22d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_d20ac893-9b7e-4423-9bf0-26b3896e05ad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract_9237562d-6ff2-43e3-b0c0-72d307ec622d" xlink:to="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1_d20ac893-9b7e-4423-9bf0-26b3896e05ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:href="efoi-20211231.xsd#efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_b8b1f44b-6c01-462b-9840-46f8b6f96139" xlink:to="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_707a6476-99a4-4370-bcd9-423088c2396c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions_707a6476-99a4-4370-bcd9-423088c2396c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_a20ed12d-7be5-45f3-b8de-732f46fd1a4e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_a20ed12d-7be5-45f3-b8de-732f46fd1a4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_f68cda0d-45eb-4f1b-8025-f1ba0885268b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract_24f9c293-b4a4-44f5-bb88-d0b5db36269b" xlink:to="loc_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1_f68cda0d-45eb-4f1b-8025-f1ba0885268b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityRestrictedStockUnitsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_e120a6a8-0326-4082-b835-e21cf1acbead" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_e120a6a8-0326-4082-b835-e21cf1acbead" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_f461a819-7ed6-434f-aaed-33231efca500" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:to="loc_us-gaap_AwardTypeAxis_f461a819-7ed6-434f-aaed-33231efca500" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_856808ff-4c8a-402a-90e9-711c944a816a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_f461a819-7ed6-434f-aaed-33231efca500" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_856808ff-4c8a-402a-90e9-711c944a816a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_a593f6af-31c6-4e93-a66d-a8c78d22f60a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_856808ff-4c8a-402a-90e9-711c944a816a" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_a593f6af-31c6-4e93-a66d-a8c78d22f60a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_d6b6a1ef-300a-4942-880a-4607324469bf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:to="loc_us-gaap_PlanNameAxis_d6b6a1ef-300a-4942-880a-4607324469bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_e8d57d01-00d9-40ea-980f-ae1fa443216d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_d6b6a1ef-300a-4942-880a-4607324469bf" xlink:to="loc_us-gaap_PlanNameDomain_e8d57d01-00d9-40ea-980f-ae1fa443216d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2014Member_3b8ba694-e222-4ff6-98fc-1b2a6a771914" xlink:href="efoi-20211231.xsd#efoi_Plan2014Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_e8d57d01-00d9-40ea-980f-ae1fa443216d" xlink:to="loc_efoi_Plan2014Member_3b8ba694-e222-4ff6-98fc-1b2a6a771914" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_Plan2020Member_3bc9d4a0-67e4-405e-b1fd-606bce30e5c3" xlink:href="efoi-20211231.xsd#efoi_Plan2020Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_e8d57d01-00d9-40ea-980f-ae1fa443216d" xlink:to="loc_efoi_Plan2020Member_3bc9d4a0-67e4-405e-b1fd-606bce30e5c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_b1ecd3f5-5771-41e7-9175-03f64084ad11" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:to="loc_srt_RangeAxis_b1ecd3f5-5771-41e7-9175-03f64084ad11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_95924c60-a3bb-4077-ac6e-7397c3f7833a" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_b1ecd3f5-5771-41e7-9175-03f64084ad11" xlink:to="loc_srt_RangeMember_95924c60-a3bb-4077-ac6e-7397c3f7833a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_95c0ecc5-a167-47ae-b1af-d5ad09d870fe" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_95924c60-a3bb-4077-ac6e-7397c3f7833a" xlink:to="loc_srt_MinimumMember_95c0ecc5-a167-47ae-b1af-d5ad09d870fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_042fb0a3-2a91-44a2-8bd2-9d52b362ec36" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_95924c60-a3bb-4077-ac6e-7397c3f7833a" xlink:to="loc_srt_MaximumMember_042fb0a3-2a91-44a2-8bd2-9d52b362ec36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_42d5b0cc-b740-4822-86d0-688e04e18ab8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_38130b12-5d4c-413d-bc01-256675171741" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_42d5b0cc-b740-4822-86d0-688e04e18ab8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_c32c7234-41e0-4ac1-a12d-fd843b3c5925" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_42d5b0cc-b740-4822-86d0-688e04e18ab8" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_c32c7234-41e0-4ac1-a12d-fd843b3c5925" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquitySummaryofRestrictedStockActivityDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_fd53feaa-686d-4dab-81c9-b51859225ee0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6c0b3b78-8491-45b7-8e0b-7fdf29b71c53" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_fd53feaa-686d-4dab-81c9-b51859225ee0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6c0b3b78-8491-45b7-8e0b-7fdf29b71c53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_73d3b43e-2018-490d-8712-740d901e88ae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6c0b3b78-8491-45b7-8e0b-7fdf29b71c53" xlink:to="loc_us-gaap_AwardTypeAxis_73d3b43e-2018-490d-8712-740d901e88ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_86014b51-36f8-4d83-8dd2-144ef081189f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_73d3b43e-2018-490d-8712-740d901e88ae" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_86014b51-36f8-4d83-8dd2-144ef081189f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_c78b6110-db0a-4db7-82bb-b5e43ffcb810" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_86014b51-36f8-4d83-8dd2-144ef081189f" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_c78b6110-db0a-4db7-82bb-b5e43ffcb810" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_64c2c778-97ef-494d-9d94-a6045e8fdf09" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_6c0b3b78-8491-45b7-8e0b-7fdf29b71c53" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_64c2c778-97ef-494d-9d94-a6045e8fdf09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_64c2c778-97ef-494d-9d94-a6045e8fdf09" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_ac9530fb-c122-4e77-8547-5f9f05dc105b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_ac9530fb-c122-4e77-8547-5f9f05dc105b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_eb391a0b-a3d1-4fef-9975-b8eba76fc828" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_eb391a0b-a3d1-4fef-9975-b8eba76fc828" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c9b7baf2-debb-4816-b14a-4ccafcaac835" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_c9b7baf2-debb-4816-b14a-4ccafcaac835" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_e1e44a40-01dd-4f55-aa3e-be98da760027" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_e1e44a40-01dd-4f55-aa3e-be98da760027" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_e910c1d6-c557-445d-a12d-02d7ce75f162" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_6f642afa-dc56-4d2a-9197-47615a8fc72a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_e910c1d6-c557-445d-a12d-02d7ce75f162" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_64c2c778-97ef-494d-9d94-a6045e8fdf09" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c76afdea-0e52-45ff-88ce-15cd6ad9af11" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_c76afdea-0e52-45ff-88ce-15cd6ad9af11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_84a63694-fbaa-4b34-bd11-d05396024eb8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_84a63694-fbaa-4b34-bd11-d05396024eb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c0193ba3-dd99-4009-80c5-62535a0c3443" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_c0193ba3-dd99-4009-80c5-62535a0c3443" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_a4a71ab6-a8cb-41e8-a085-ae91a3a9d369" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_a4a71ab6-a8cb-41e8-a085-ae91a3a9d369" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_0c7dd4d4-720f-48b3-ba38-e2c24a78134b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_42ebc725-25a5-41aa-80a5-9c834dcb78e7" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_0c7dd4d4-720f-48b3-ba38-e2c24a78134b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#StockholdersEquityEmployeeStockPurchasePlansDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_56c0948b-c6df-4f75-83d0-bbccd3a3702d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_214232e0-612c-4838-ba79-ecd875cc1641" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_56c0948b-c6df-4f75-83d0-bbccd3a3702d" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_214232e0-612c-4838-ba79-ecd875cc1641" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_9245180a-d327-47c7-928e-b114f49f5212" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_214232e0-612c-4838-ba79-ecd875cc1641" xlink:to="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_9245180a-d327-47c7-928e-b114f49f5212" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_0c7f3e26-481a-40e2-b64f-2de3dc8e59c8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis_9245180a-d327-47c7-928e-b114f49f5212" xlink:to="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_0c7f3e26-481a-40e2-b64f-2de3dc8e59c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployeeStockPurchasePlan2013Member_51de9290-740f-4dcb-89d4-e17484dd0f90" xlink:href="efoi-20211231.xsd#efoi_EmployeeStockPurchasePlan2013Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain_0c7f3e26-481a-40e2-b64f-2de3dc8e59c8" xlink:to="loc_efoi_EmployeeStockPurchasePlan2013Member_51de9290-740f-4dcb-89d4-e17484dd0f90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_214232e0-612c-4838-ba79-ecd875cc1641" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_722d7156-c80f-4d62-8a0f-60f9c8b6d116" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_722d7156-c80f-4d62-8a0f-60f9c8b6d116" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_30551efc-8ee8-4eae-876a-4f17ba870570" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_30551efc-8ee8-4eae-876a-4f17ba870570" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_5acce6d3-c474-421f-808d-db71ad64d695" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_5acce6d3-c474-421f-808d-db71ad64d695" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_1dabd6da-276e-46b9-ba0c-e6b945074edf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_3a6ecfa3-b5e2-46b8-b0ca-26cb6cf00017" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_1dabd6da-276e-46b9-ba0c-e6b945074edf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxes" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_c6e7a6b1-2865-4403-9a14-72fdb4949edb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_1c80b019-0fff-4d8e-9d86-d03b616d0880" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_c6e7a6b1-2865-4403-9a14-72fdb4949edb" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_1c80b019-0fff-4d8e-9d86-d03b616d0880" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_6fe273a1-4ca6-472f-afcc-eda37f6f9ca0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_bbb473aa-8e41-494c-b20f-ff1d0f3df807" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_6fe273a1-4ca6-472f-afcc-eda37f6f9ca0" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_bbb473aa-8e41-494c-b20f-ff1d0f3df807" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_a771624a-75cf-40e6-b353-4a7fcd1852bd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_6fe273a1-4ca6-472f-afcc-eda37f6f9ca0" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_a771624a-75cf-40e6-b353-4a7fcd1852bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_7a4d6698-7cc5-43bd-a2b0-5e07b5bb143f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_6fe273a1-4ca6-472f-afcc-eda37f6f9ca0" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_7a4d6698-7cc5-43bd-a2b0-5e07b5bb143f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_d6868604-67a7-4f27-a195-6142774cd717" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_d6868604-67a7-4f27-a195-6142774cd717" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_da4be973-fe72-4d31-93cd-7f2aac042901" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_da4be973-fe72-4d31-93cd-7f2aac042901" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_e22f35e1-4650-4c79-b9a3-ea0552441cc6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_da4be973-fe72-4d31-93cd-7f2aac042901" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_e22f35e1-4650-4c79-b9a3-ea0552441cc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_6c7f3bcd-32c6-496e-aa1d-567c68de286b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_e22f35e1-4650-4c79-b9a3-ea0552441cc6" xlink:to="loc_us-gaap_DomesticCountryMember_6c7f3bcd-32c6-496e-aa1d-567c68de286b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_20ab45b6-7957-412b-8939-b334a901b472" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_e22f35e1-4650-4c79-b9a3-ea0552441cc6" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_20ab45b6-7957-412b-8939-b334a901b472" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_7eb3cb8f-cced-4858-990b-ae01419849c6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:to="loc_us-gaap_DebtInstrumentAxis_7eb3cb8f-cced-4858-990b-ae01419849c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_d1f7f772-d7c3-402e-ae21-d2a90b19459c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_7eb3cb8f-cced-4858-990b-ae01419849c6" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_d1f7f772-d7c3-402e-ae21-d2a90b19459c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaycheckProtectionProgramCARESActMember_fc041cbb-9992-4aed-929f-d9fb8fbc97ed" xlink:href="efoi-20211231.xsd#efoi_PaycheckProtectionProgramCARESActMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_d1f7f772-d7c3-402e-ae21-d2a90b19459c" xlink:to="loc_efoi_PaycheckProtectionProgramCARESActMember_fc041cbb-9992-4aed-929f-d9fb8fbc97ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_6fb7dc02-87f7-4c08-9414-80a4d9b4db24" xlink:to="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_35e0e773-fb9d-4e02-b563-8be4e2f3094b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_35e0e773-fb9d-4e02-b563-8be4e2f3094b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_ac279820-c030-4b7d-9aa7-1586836dd62e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_OperatingLossCarryforwards_ac279820-c030-4b7d-9aa7-1586836dd62e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_945fc603-b4c9-4bf8-9a31-af3e980e60b9" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_945fc603-b4c9-4bf8-9a31-af3e980e60b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_a8be2f4a-d132-4c1e-be9f-8c0ec06a4713" xlink:href="efoi-20211231.xsd#efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations_a8be2f4a-d132-4c1e-be9f-8c0ec06a4713" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_f4ce1559-9ae8-44ea-a738-ec64c135cef1" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_f4ce1559-9ae8-44ea-a738-ec64c135cef1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_3ee174bc-6aa2-4de6-83e9-1ef84ec4228d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_us-gaap_DeferredTaxLiabilities_3ee174bc-6aa2-4de6-83e9-1ef84ec4228d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct_e787032a-83c6-446f-ab32-e50c92bca0b7" xlink:href="efoi-20211231.xsd#efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct_e787032a-83c6-446f-ab32-e50c92bca0b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_ProceedsFromPaycheckProtectionProgram_f28abf13-d608-41c9-aa6c-05c09e893bd4" xlink:href="efoi-20211231.xsd#efoi_ProceedsFromPaycheckProtectionProgram"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_5b9afc50-fbd7-43ae-b27a-d8a95b5698e5" xlink:to="loc_efoi_ProceedsFromPaycheckProtectionProgram_f28abf13-d608-41c9-aa6c-05c09e893bd4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesComponentsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_890d4648-b048-4720-8473-e757d8bbcd22" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_258cd12f-e579-4c8d-94da-1189f8507062" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_890d4648-b048-4720-8473-e757d8bbcd22" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_258cd12f-e579-4c8d-94da-1189f8507062" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_7b21c2e2-c0ca-4feb-bbd7-e190b0a3cb9a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_258cd12f-e579-4c8d-94da-1189f8507062" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_7b21c2e2-c0ca-4feb-bbd7-e190b0a3cb9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_18da76a6-e59f-441f-84b7-c7f1de4bd87c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_890d4648-b048-4720-8473-e757d8bbcd22" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_18da76a6-e59f-441f-84b7-c7f1de4bd87c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_51bc3c7a-4ba7-478b-adfb-137724d82fb0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_18da76a6-e59f-441f-84b7-c7f1de4bd87c" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_51bc3c7a-4ba7-478b-adfb-137724d82fb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_823287b4-36d6-41f0-a29e-ac08d459021f" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_890d4648-b048-4720-8473-e757d8bbcd22" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_823287b4-36d6-41f0-a29e-ac08d459021f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesReconciliationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_20a50377-896f-4ee0-bac1-26a5937aa595" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_83ac305a-babd-4da4-a589-6668871a0450" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_20a50377-896f-4ee0-bac1-26a5937aa595" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_83ac305a-babd-4da4-a589-6668871a0450" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_5f347cbc-e44e-4052-8a5b-021113b9497c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_20a50377-896f-4ee0-bac1-26a5937aa595" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_5f347cbc-e44e-4052-8a5b-021113b9497c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_4644a42a-cf41-4148-8a82-dfa116fae5aa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_20a50377-896f-4ee0-bac1-26a5937aa595" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_4644a42a-cf41-4148-8a82-dfa116fae5aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_d31b782e-16d5-423b-9c1b-b3b5539c709e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_20a50377-896f-4ee0-bac1-26a5937aa595" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_d31b782e-16d5-423b-9c1b-b3b5539c709e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_cb173baf-75d1-4342-92e4-dd7199347e20" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_20a50377-896f-4ee0-bac1-26a5937aa595" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_cb173baf-75d1-4342-92e4-dd7199347e20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#IncomeTaxesTemporaryDifferencesDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_f7cfd123-d151-4666-a06b-5f36dea9bb46" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_ed04e646-986d-46cb-b762-1e778361e261" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f7cfd123-d151-4666-a06b-5f36dea9bb46" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther_ed04e646-986d-46cb-b762-1e778361e261" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_90e5eca1-4719-429e-b2db-cdeabf1b299c" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f7cfd123-d151-4666-a06b-5f36dea9bb46" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_90e5eca1-4719-429e-b2db-cdeabf1b299c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_DeferredTaxAssetsLeasingArrangements_bfc3515c-82d4-4eba-9bc5-1a900096f70c" xlink:href="efoi-20211231.xsd#efoi_DeferredTaxAssetsLeasingArrangements"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f7cfd123-d151-4666-a06b-5f36dea9bb46" xlink:to="loc_efoi_DeferredTaxAssetsLeasingArrangements_bfc3515c-82d4-4eba-9bc5-1a900096f70c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_8928bf1d-d39f-4688-aa81-a47e381486f4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f7cfd123-d151-4666-a06b-5f36dea9bb46" xlink:to="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_8928bf1d-d39f-4688-aa81-a47e381486f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_c62a09fb-4d49-4cd7-a493-d3226ef23280" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f7cfd123-d151-4666-a06b-5f36dea9bb46" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_c62a09fb-4d49-4cd7-a493-d3226ef23280" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_d30a5fb8-6757-4f15-a24c-e1ac2110d38e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f7cfd123-d151-4666-a06b-5f36dea9bb46" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_d30a5fb8-6757-4f15-a24c-e1ac2110d38e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_9eb8ff0b-a6a3-4f73-9911-99196eb03aba" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f7cfd123-d151-4666-a06b-5f36dea9bb46" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNet_9eb8ff0b-a6a3-4f73-9911-99196eb03aba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ProductandGeographicInformation" xlink:type="simple" xlink:href="efoi-20211231.xsd#ProductandGeographicInformation"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ProductandGeographicInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_21c404d1-24c0-4330-a56c-b6daa5c84bf2" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_cad32e35-97af-46b8-9bd5-854022f17245" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_21c404d1-24c0-4330-a56c-b6daa5c84bf2" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_cad32e35-97af-46b8-9bd5-854022f17245" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ProductandGeographicInformationTables" xlink:type="simple" xlink:href="efoi-20211231.xsd#ProductandGeographicInformationTables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ProductandGeographicInformationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_ad9b5bdd-d1af-4d73-9c3f-e0018ffd630e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_f3f74219-4441-4fb4-93e7-08b229d92a06" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_ad9b5bdd-d1af-4d73-9c3f-e0018ffd630e" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_f3f74219-4441-4fb4-93e7-08b229d92a06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_34c8ec35-59df-4301-9245-a9992be8afef" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_ad9b5bdd-d1af-4d73-9c3f-e0018ffd630e" xlink:to="loc_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_34c8ec35-59df-4301-9245-a9992be8afef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#ProductandGeographicInformationDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_4aea0fda-11b1-4945-8f99-b3fd5876a9a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_4aea0fda-11b1-4945-8f99-b3fd5876a9a3" xlink:to="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_9f4b65fc-6666-463e-840e-c930afd70403" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:to="loc_srt_ProductOrServiceAxis_9f4b65fc-6666-463e-840e-c930afd70403" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_12f2d4fd-4737-4a54-8636-0524ed24d62c" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_9f4b65fc-6666-463e-840e-c930afd70403" xlink:to="loc_srt_ProductsAndServicesDomain_12f2d4fd-4737-4a54-8636-0524ed24d62c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PoolAndCommercialProductsMember_7c4130fa-37ef-420c-afac-69550306769a" xlink:href="efoi-20211231.xsd#efoi_PoolAndCommercialProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_12f2d4fd-4737-4a54-8636-0524ed24d62c" xlink:to="loc_efoi_PoolAndCommercialProductsMember_7c4130fa-37ef-420c-afac-69550306769a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GovernmentProductsMember_c33b5fee-28a4-44f6-8b51-c459ff7c6fc4" xlink:href="efoi-20211231.xsd#efoi_GovernmentProductsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_12f2d4fd-4737-4a54-8636-0524ed24d62c" xlink:to="loc_efoi_GovernmentProductsMember_c33b5fee-28a4-44f6-8b51-c459ff7c6fc4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_612d04cc-f76a-46ef-b12e-79c8599fb55f" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:to="loc_srt_StatementGeographicalAxis_612d04cc-f76a-46ef-b12e-79c8599fb55f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_24eb55b8-3539-4bfa-9ef2-6da1705851b8" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_612d04cc-f76a-46ef-b12e-79c8599fb55f" xlink:to="loc_srt_SegmentGeographicalDomain_24eb55b8-3539-4bfa-9ef2-6da1705851b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_country_US_f8954c14-c464-4d88-a5fa-1346c1ac6521" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_24eb55b8-3539-4bfa-9ef2-6da1705851b8" xlink:to="loc_country_US_f8954c14-c464-4d88-a5fa-1346c1ac6521" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_InternationalMember_e01e7702-0766-459b-868a-007d236a2fae" xlink:href="efoi-20211231.xsd#efoi_InternationalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_24eb55b8-3539-4bfa-9ef2-6da1705851b8" xlink:to="loc_efoi_InternationalMember_e01e7702-0766-459b-868a-007d236a2fae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee972827-9dbf-4415-be42-2d8ff307ddbf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable_25e1865a-a57d-433c-a5b5-596496b02afc" xlink:to="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee972827-9dbf-4415-be42-2d8ff307ddbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_2fee2098-1bce-46e5-9b98-48231a37612a" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee972827-9dbf-4415-be42-2d8ff307ddbf" xlink:to="loc_us-gaap_Revenues_2fee2098-1bce-46e5-9b98-48231a37612a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_LonglivedAssetsLocatedinUSPercent_a950e787-c387-4a37-940c-7a8013032c76" xlink:href="efoi-20211231.xsd#efoi_LonglivedAssetsLocatedinUSPercent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems_ee972827-9dbf-4415-be42-2d8ff307ddbf" xlink:to="loc_efoi_LonglivedAssetsLocatedinUSPercent_a950e787-c387-4a37-940c-7a8013032c76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/OtherIncome" xlink:type="simple" xlink:href="efoi-20211231.xsd#OtherIncome"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/OtherIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract_884d2c2f-682c-4e3f-bacc-a50f9761130e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_403fcab1-ad95-4a31-a46e-a12021f698f7" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract_884d2c2f-682c-4e3f-bacc-a50f9761130e" xlink:to="loc_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock_403fcab1-ad95-4a31-a46e-a12021f698f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/OtherIncomeDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#OtherIncomeDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/OtherIncomeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncomeAndExpensesAbstract_29230287-5c07-4017-ad86-7c3424102073" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherIncomeAndExpensesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_1c597890-c906-4bad-8cb5-b686e5409a3e" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherIncomeAndExpensesAbstract_29230287-5c07-4017-ad86-7c3424102073" xlink:to="loc_us-gaap_DebtInstrumentTable_1c597890-c906-4bad-8cb5-b686e5409a3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_20be122f-57b1-4020-b805-fbbb6cd001e4" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1c597890-c906-4bad-8cb5-b686e5409a3e" xlink:to="loc_us-gaap_DebtInstrumentAxis_20be122f-57b1-4020-b805-fbbb6cd001e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_0ecf6471-1a3d-4360-8e31-0c79ff93ac9b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_20be122f-57b1-4020-b805-fbbb6cd001e4" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_0ecf6471-1a3d-4360-8e31-0c79ff93ac9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaycheckProtectionProgramCARESActMember_de03c4b2-eb30-4429-8460-6bb3a51ebac2" xlink:href="efoi-20211231.xsd#efoi_PaycheckProtectionProgramCARESActMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_0ecf6471-1a3d-4360-8e31-0c79ff93ac9b" xlink:to="loc_efoi_PaycheckProtectionProgramCARESActMember_de03c4b2-eb30-4429-8460-6bb3a51ebac2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_1c597890-c906-4bad-8cb5-b686e5409a3e" xlink:to="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_fa33b4e4-61a3-4aaa-ac8a-2e98dea3138f" xlink:href="efoi-20211231.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct_fa33b4e4-61a3-4aaa-ac8a-2e98dea3138f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_3be2c15d-cf25-4e9b-90e2-fc632231925f" xlink:href="efoi-20211231.xsd#efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent_3be2c15d-cf25-4e9b-90e2-fc632231925f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLoanOriginations1_36ced811-90e7-4d42-a051-214220cacbca" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLoanOriginations1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_us-gaap_ProceedsFromLoanOriginations1_36ced811-90e7-4d42-a051-214220cacbca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_11837335-bbed-42cf-9410-d675a3760b92" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_11837335-bbed-42cf-9410-d675a3760b92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramCurrent_54a1e531-212f-47dd-8a32-4191af38b2e6" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_PaymentProtectionProgramCurrent_54a1e531-212f-47dd-8a32-4191af38b2e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_PaymentProtectionProgramNoncurrent_9e18a3e4-2db2-4ef1-b932-371144d51793" xlink:href="efoi-20211231.xsd#efoi_PaymentProtectionProgramNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_PaymentProtectionProgramNoncurrent_9e18a3e4-2db2-4ef1-b932-371144d51793" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_GainLossOnForgivenessOfDebt_ee0f6aef-2294-418d-8e30-4e22c2f66d4c" xlink:href="efoi-20211231.xsd#efoi_GainLossOnForgivenessOfDebt"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_14372340-3aa6-4d30-a6df-c47c4816d9c6" xlink:to="loc_efoi_GainLossOnForgivenessOfDebt_ee0f6aef-2294-418d-8e30-4e22c2f66d4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RelatedPartyTransactions" xlink:type="simple" xlink:href="efoi-20211231.xsd#RelatedPartyTransactions"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/RelatedPartyTransactions" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsAbstract_b794aa1f-3822-4afc-9aec-0a06aaf01166" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_f6518fbe-748c-46bb-b981-5e85cf2caa81" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionsAbstract_b794aa1f-3822-4afc-9aec-0a06aaf01166" xlink:to="loc_us-gaap_RelatedPartyTransactionsDisclosureTextBlock_f6518fbe-748c-46bb-b981-5e85cf2caa81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#RelatedPartyTransactionsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsAbstract_31feae60-a202-48a0-b77e-7e4111dddd52" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionsAbstract_31feae60-a202-48a0-b77e-7e4111dddd52" xlink:to="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_73661234-1b96-46e5-8a8a-3c84025fe498" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_73661234-1b96-46e5-8a8a-3c84025fe498" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyDomain_55f9630d-3dda-413f-88fd-55e14087ffcd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_73661234-1b96-46e5-8a8a-3c84025fe498" xlink:to="loc_us-gaap_RelatedPartyDomain_55f9630d-3dda-413f-88fd-55e14087ffcd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A13DGroupMember_3898dee2-1362-42d6-a648-27b04e1f9a8d" xlink:href="efoi-20211231.xsd#efoi_A13DGroupMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyDomain_55f9630d-3dda-413f-88fd-55e14087ffcd" xlink:to="loc_efoi_A13DGroupMember_3898dee2-1362-42d6-a648-27b04e1f9a8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommunalMember_ca226eed-2989-4978-a5f7-e243d931d41b" xlink:href="efoi-20211231.xsd#efoi_CommunalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyDomain_55f9630d-3dda-413f-88fd-55e14087ffcd" xlink:to="loc_efoi_CommunalMember_ca226eed-2989-4978-a5f7-e243d931d41b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LegalEntityAxis_72684ca6-b1b9-4680-acea-d214a3225297" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LegalEntityAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_dei_LegalEntityAxis_72684ca6-b1b9-4680-acea-d214a3225297" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_72684ca6-b1b9-4680-acea-d214a3225297" xlink:to="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_JamesTuThroughFusionParkLLCMember_a911f4d6-71db-4296-9df2-81c85cc24e70" xlink:href="efoi-20211231.xsd#efoi_JamesTuThroughFusionParkLLCMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_JamesTuThroughFusionParkLLCMember_a911f4d6-71db-4296-9df2-81c85cc24e70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_BrilliantStartEnterpriseInc.Member_3bde12b7-b27a-40cd-97a5-934139022bdd" xlink:href="efoi-20211231.xsd#efoi_BrilliantStartEnterpriseInc.Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_BrilliantStartEnterpriseInc.Member_3bde12b7-b27a-40cd-97a5-934139022bdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A5ElementsGlobalAdvisorsMember_83af5ece-1c6b-4077-877f-209c4cea14b9" xlink:href="efoi-20211231.xsd#efoi_A5ElementsGlobalAdvisorsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_A5ElementsGlobalAdvisorsMember_83af5ece-1c6b-4077-877f-209c4cea14b9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_A5ElementsEnergyEfficienciesBVILtdMember_1a946815-5820-4acd-aa6e-d43df9888223" xlink:href="efoi-20211231.xsd#efoi_A5ElementsEnergyEfficienciesBVILtdMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_A5ElementsEnergyEfficienciesBVILtdMember_1a946815-5820-4acd-aa6e-d43df9888223" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_YehMeiChengMember_78f4e24b-3532-4ac0-9512-feb849d9635a" xlink:href="efoi-20211231.xsd#efoi_YehMeiChengMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityDomain_a2d5d18b-5b62-4ebf-868c-e454cfec32e3" xlink:to="loc_efoi_YehMeiChengMember_78f4e24b-3532-4ac0-9512-feb849d9635a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_172d239e-388c-4a14-9df5-85306451b84d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_172d239e-388c-4a14-9df5-85306451b84d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain_9cf2638f-6d77-4a9f-a125-9ef5f885cdc9" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_172d239e-388c-4a14-9df5-85306451b84d" xlink:to="loc_srt_EquityMethodInvesteeNameDomain_9cf2638f-6d77-4a9f-a125-9ef5f885cdc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_FiveElementsEfficientiesBVILtdMember_c787b08a-7bdf-402c-8298-675eb26c885d" xlink:href="efoi-20211231.xsd#efoi_FiveElementsEfficientiesBVILtdMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_EquityMethodInvesteeNameDomain_9cf2638f-6d77-4a9f-a125-9ef5f885cdc9" xlink:to="loc_efoi_FiveElementsEfficientiesBVILtdMember_c787b08a-7bdf-402c-8298-675eb26c885d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipAxis_133f29b2-46c0-4872-974c-0e26ce7f7ceb" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_OwnershipAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_srt_OwnershipAxis_133f29b2-46c0-4872-974c-0e26ce7f7ceb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_OwnershipDomain_1e4cdd05-4470-4e24-89fa-62236262e40b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_OwnershipDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_OwnershipAxis_133f29b2-46c0-4872-974c-0e26ce7f7ceb" xlink:to="loc_srt_OwnershipDomain_1e4cdd05-4470-4e24-89fa-62236262e40b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_CommunalInternationalLtdMember_76167609-9db2-42cf-a89d-6a1e6bce35ad" xlink:href="efoi-20211231.xsd#efoi_CommunalInternationalLtdMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_OwnershipDomain_1e4cdd05-4470-4e24-89fa-62236262e40b" xlink:to="loc_efoi_CommunalInternationalLtdMember_76167609-9db2-42cf-a89d-6a1e6bce35ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_23ca6cb0-ff28-4e4c-bc5f-4abe733bdac5" xlink:to="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_ab010ff8-0bf8-4a57-8488-8ac9317acc50" xlink:href="efoi-20211231.xsd#efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:to="loc_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty_ab010ff8-0bf8-4a57-8488-8ac9317acc50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction_aaeea310-7707-4363-aacb-57de44a5239d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:to="loc_us-gaap_RelatedPartyTransactionAmountsOfTransaction_aaeea310-7707-4363-aacb-57de44a5239d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest_337d06c8-e629-416d-a501-fb88004b2eaa" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RelatedPartyTransactionLineItems_ba8ca603-20ee-4e35-b4ec-177e8e55dbae" xlink:to="loc_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest_337d06c8-e629-416d-a501-fb88004b2eaa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/LegalMatters" xlink:type="simple" xlink:href="efoi-20211231.xsd#LegalMatters"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/LegalMatters" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_7d17ffd6-f904-423c-8e34-9b0c9f88f53d" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LegalMattersAndContingenciesTextBlock_420f52c2-4991-4ad0-b404-c3f97c5d83cb" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LegalMattersAndContingenciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_7d17ffd6-f904-423c-8e34-9b0c9f88f53d" xlink:to="loc_us-gaap_LegalMattersAndContingenciesTextBlock_420f52c2-4991-4ad0-b404-c3f97c5d83cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8" xlink:type="simple" xlink:href="efoi-20211231.xsd#SupplementaryFinancialInformationtoItem8"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_9ddd19f8-88d4-4657-b2f8-d9e92e5c7b17" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_QuarterlyFinancialInformationTextBlock_d4dbb4d4-e6b8-4842-8fa2-564c3d6d19da" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_9ddd19f8-88d4-4657-b2f8-d9e92e5c7b17" xlink:to="loc_us-gaap_QuarterlyFinancialInformationTextBlock_d4dbb4d4-e6b8-4842-8fa2-564c3d6d19da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Tables" xlink:type="simple" xlink:href="efoi-20211231.xsd#SupplementaryFinancialInformationtoItem8Tables"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Tables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b4b2e593-bbb8-4979-a804-15710b8d7d8b" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_68042018-7ead-4951-b5d3-6da06b9b15fd" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b4b2e593-bbb8-4979-a804-15710b8d7d8b" xlink:to="loc_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_68042018-7ead-4951-b5d3-6da06b9b15fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details" xlink:type="simple" xlink:href="efoi-20211231.xsd#SupplementaryFinancialInformationtoItem8Details"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b971abfc-1fdc-4d83-bced-653eba306257" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_e9a90c5e-a86f-4496-b290-362c608819a3" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b971abfc-1fdc-4d83-bced-653eba306257" xlink:to="loc_us-gaap_Revenues_e9a90c5e-a86f-4496-b290-362c608819a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_79857a72-f274-4f1c-9b62-9f0667a40623" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b971abfc-1fdc-4d83-bced-653eba306257" xlink:to="loc_us-gaap_GrossProfit_79857a72-f274-4f1c-9b62-9f0667a40623" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_6338fb31-c3cd-419b-9976-c7410adacdc5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b971abfc-1fdc-4d83-bced-653eba306257" xlink:to="loc_us-gaap_NetIncomeLoss_6338fb31-c3cd-419b-9976-c7410adacdc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_d6e60027-a3d5-40b2-ae6d-1a963167e076" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b971abfc-1fdc-4d83-bced-653eba306257" xlink:to="loc_us-gaap_EarningsPerShareBasic_d6e60027-a3d5-40b2-ae6d-1a963167e076" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_2801be4c-6478-4f1c-8c27-2a1967e87a50" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b971abfc-1fdc-4d83-bced-653eba306257" xlink:to="loc_us-gaap_EarningsPerShareDiluted_2801be4c-6478-4f1c-8c27-2a1967e87a50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_0da6ed6a-a4ec-4ced-b223-ebcdc7812ab6" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_QuarterlyFinancialInformationDisclosureAbstract_b971abfc-1fdc-4d83-bced-653eba306257" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_0da6ed6a-a4ec-4ced-b223-ebcdc7812ab6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_6312941f-e1d8-484a-8207-b0c5dd4596f5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_0da6ed6a-a4ec-4ced-b223-ebcdc7812ab6" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_6312941f-e1d8-484a-8207-b0c5dd4596f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_868e9e33-2a40-4f47-b983-4dbea0b64d32" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_0da6ed6a-a4ec-4ced-b223-ebcdc7812ab6" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_868e9e33-2a40-4f47-b983-4dbea0b64d32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccounts" xlink:type="simple" xlink:href="efoi-20211231.xsd#ScheduleIIScheduleofValuationandQualifyingAccounts"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccounts" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsAbstract_e6739861-7c24-4e3a-a6ba-b1b6e3da3261" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_532a9e3c-30b3-4fd6-a10a-807955d11821" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsAbstract_e6739861-7c24-4e3a-a6ba-b1b6e3da3261" xlink:to="loc_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_532a9e3c-30b3-4fd6-a10a-807955d11821" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails" xlink:type="simple" xlink:href="efoi-20211231.xsd#ScheduleIIScheduleofValuationandQualifyingAccountsDetails"/>
  <link:presentationLink xlink:role="http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsAbstract_dfb78f6b-aefe-4a37-af8d-6e8dca37f22d" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_7860c7a1-f5b4-48b2-91c6-5f4b35b9629b" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsAbstract_dfb78f6b-aefe-4a37-af8d-6e8dca37f22d" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_7860c7a1-f5b4-48b2-91c6-5f4b35b9629b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_4c5e283b-23a0-4e55-8911-1ca491294af8" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_7860c7a1-f5b4-48b2-91c6-5f4b35b9629b" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_4c5e283b-23a0-4e55-8911-1ca491294af8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_4c5e283b-23a0-4e55-8911-1ca491294af8" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForCreditLossMember_5f136334-fb85-465a-9fbc-30decb68efb0" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForCreditLossMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:to="loc_us-gaap_AllowanceForCreditLossMember_5f136334-fb85-465a-9fbc-30decb68efb0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserveMember_58eaf79e-1c3d-4a9e-9756-5a8399037338" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryValuationReserveMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:to="loc_us-gaap_InventoryValuationReserveMember_58eaf79e-1c3d-4a9e-9756-5a8399037338" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9c7c1987-29f6-49e8-ac88-c9c63df4bec5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_e9d29d13-9321-4894-bbb8-7c0837c3cc43" xlink:to="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9c7c1987-29f6-49e8-ac88-c9c63df4bec5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f04457fd-a9e9-4a92-a1ff-a64fec3c9aea" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_7860c7a1-f5b4-48b2-91c6-5f4b35b9629b" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f04457fd-a9e9-4a92-a1ff-a64fec3c9aea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_f04457fd-a9e9-4a92-a1ff-a64fec3c9aea" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_c3c34c56-1ce9-489c-b2a5-81c23db8bac5" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_c3c34c56-1ce9-489c-b2a5-81c23db8bac5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_3779060d-4820-4159-9ee0-13efddee33ad" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_3779060d-4820-4159-9ee0-13efddee33ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_8b6e67b0-2a5f-4206-86aa-4a08758e8867" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_8b6e67b0-2a5f-4206-86aa-4a08758e8867" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_527ffe2f-f884-4df5-96e7-2f9727f35fee" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_403bbf46-fe69-40c0-9d41-4596e6f2a9cf" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_527ffe2f-f884-4df5-96e7-2f9727f35fee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836564584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 14, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-36583<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">ENERGY FOCUS, INC/DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">94-3021850<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">32000 Aurora Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite B<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Solon<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">OH<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">44139<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">715.1300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.0001 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">EFOI<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17.1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,453,777<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text">Portions of the definitive proxy statement to be filed with the Securities and Exchange Commission relative to the registrant&#8217;s 2022 Annual Meeting of Stockholders are incorporated by reference into Part III of this Report.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000924168<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Documents incorporated by reference.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-23<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentsIncorporatedByReferenceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006842219048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Audit Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_AuditInformationAbstract', window );"><strong>Audit Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">1808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">GBQ Partners, LLC<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Columbus, Ohio<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_AuditInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Audit Information [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_AuditInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837393656">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash</a></td>
<td class="nump">$ 2,682<span></span>
</td>
<td class="nump">$ 1,836<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Trade accounts receivable, less allowances of $14 and $8, respectively</a></td>
<td class="nump">1,240<span></span>
</td>
<td class="nump">2,021<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">7,866<span></span>
</td>
<td class="nump">5,641<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepositsAssetsCurrent', window );">Short-term deposits</a></td>
<td class="nump">712<span></span>
</td>
<td class="nump">796<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid and other current assets</a></td>
<td class="nump">924<span></span>
</td>
<td class="nump">782<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">13,424<span></span>
</td>
<td class="nump">11,076<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">675<span></span>
</td>
<td class="nump">420<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease, right-of-use asset</a></td>
<td class="nump">292<span></span>
</td>
<td class="nump">794<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuredOperatingLeaseRightOfUseAsset', window );">Restructured lease, right-of-use asset</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">107<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">14,391<span></span>
</td>
<td class="nump">12,397<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">2,235<span></span>
</td>
<td class="nump">2,477<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">265<span></span>
</td>
<td class="nump">45<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedProfessionalFeesCurrent', window );">Accrued legal and professional fees</a></td>
<td class="nump">104<span></span>
</td>
<td class="nump">149<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedEmployeeBenefitsCurrent', window );">Accrued payroll and related benefits</a></td>
<td class="nump">718<span></span>
</td>
<td class="nump">885<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Accrued sales commissions</a></td>
<td class="nump">57<span></span>
</td>
<td class="nump">95<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserveCurrent', window );">Accrued restructuring</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualCurrent', window );">Accrued warranty reserve</a></td>
<td class="nump">295<span></span>
</td>
<td class="nump">227<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">268<span></span>
</td>
<td class="nump">72<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities</a></td>
<td class="nump">325<span></span>
</td>
<td class="nump">598<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuredOperatingLeaseLiabilityCurrent', window );">Restructured lease liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">168<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesPayableCurrent', window );">Streeterville note, net of discount and loan origination fees</a></td>
<td class="nump">1,719<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramCurrent', window );">PPP loan</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">529<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Credit line borrowings, net of loan origination fees</a></td>
<td class="nump">2,169<span></span>
</td>
<td class="nump">2,298<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">8,156<span></span>
</td>
<td class="nump">7,557<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, net of current portion</a></td>
<td class="nump">26<span></span>
</td>
<td class="nump">318<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, net of current portion</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramNoncurrent', window );">PPP loan, net of current maturities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">266<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">8,182<span></span>
</td>
<td class="nump">8,142<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>STOCKHOLDERS&#8217; EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, par value $0.0001 per share:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, par value $0.0001 per share:</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">144,953<span></span>
</td>
<td class="nump">135,113<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(3)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(138,741)<span></span>
</td>
<td class="num">(130,855)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">6,209<span></span>
</td>
<td class="nump">4,255<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 14,391<span></span>
</td>
<td class="nump">$ 12,397<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentProtectionProgramCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment Protection Program, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentProtectionProgramCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentProtectionProgramNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment Protection Program, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentProtectionProgramNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuredOperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructured Operating Lease, Liability, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuredOperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuredOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructured Operating Lease, Right-Of-Use Asset</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuredOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedEmployeeBenefitsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedEmployeeBenefitsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedProfessionalFeesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedProfessionalFeesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalesCommissionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669686-108580<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6801-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepositsAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of known and estimated obligations associated with exit from or disposal of business activities or restructurings pursuant to a duly authorized plan, which are expected to be paid in the next twelve months or in the normal operating cycle if longer. Costs of such activities include those for one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, relocating employees, and costs associated with an ongoing benefit arrangement, but excludes costs associated with the retirement of a long-lived asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserveCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836525176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Trade accounts receivable, allowances</a></td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">$ 8<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock authorized (in shares)</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">876,447<span></span>
</td>
<td class="nump">2,597,470<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">876,447<span></span>
</td>
<td class="nump">2,597,470<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock authorized (in shares)</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">6,368,549<span></span>
</td>
<td class="nump">3,525,374<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">6,368,549<span></span>
</td>
<td class="nump">3,525,374<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember', window );">Convertible Preferred Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock authorized (in shares)</a></td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844633400">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 9,865<span></span>
</td>
<td class="nump">$ 16,828<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of sales</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">8,167<span></span>
</td>
<td class="nump">11,643<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,698<span></span>
</td>
<td class="nump">5,185<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Product development</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,891<span></span>
</td>
<td class="nump">1,415<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">8,535<span></span>
</td>
<td class="nump">7,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(21)<span></span>
</td>
<td class="num">(60)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">10,405<span></span>
</td>
<td class="nump">9,255<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(8,707)<span></span>
</td>
<td class="num">(4,070)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other expenses:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">792<span></span>
</td>
<td class="nump">481<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_GainLossOnForgivenessOfDebt', window );">Gain on forgiveness of PPP loan</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(801)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainsLossesOnExtinguishmentOfDebt', window );">Loss on extinguishment of debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">276<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_GainLossFromEmployeeRetentionTaxCredit', window );">Other income - employee retention tax credit</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(876)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAdjustmentOfWarrants', window );">Loss from change in fair value of warrants</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,086<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other expenses</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">65<span></span>
</td>
<td class="nump">73<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss from operations before income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(7,887)<span></span>
</td>
<td class="num">(5,986)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Benefit from income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(5)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">$ (7,886)<span></span>
</td>
<td class="num">$ (5,981)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Net loss per common share - basic and diluted:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare', window );">Net loss, basic (in USD per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">$ (1.73)<span></span>
</td>
<td class="num">$ (1.83)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare', window );">Net loss, diluted (in USD per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">$ (1.73)<span></span>
</td>
<td class="num">$ (1.83)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract', window );"><strong>Weighted average shares of common shares outstanding:</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">4,561<span></span>
</td>
<td class="nump">3,270<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">4,561<span></span>
</td>
<td class="nump">3,270<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_GainLossFromEmployeeRetentionTaxCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>(Gain) Loss From Employee Retention Tax Credit</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_GainLossFromEmployeeRetentionTaxCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_GainLossOnForgivenessOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gain (Loss) On Forgiveness Of Debt</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_GainLossOnForgivenessOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAdjustmentOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (income) related to adjustment to fair value of warrant liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section 25<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=109262497&amp;loc=d3e20148-110875<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAdjustmentOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainsLossesOnExtinguishmentOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123467658&amp;loc=d3e12355-112629<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 50<br> -Section 40<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467658&amp;loc=d3e12317-112629<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnExtinguishmentOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123384075&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868656-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerBasicShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868656-224227<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844443256">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Operations (Paranthetical)<br></strong></div></th>
<th class="th"><div>Jun. 11, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1', window );">Reverse stock split ratio</a></td>
<td class="nump">0.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SAB TOPIC 4.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187143-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteStockSplitConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836473352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Loss - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (7,886)<span></span>
</td>
<td class="num">$ (5,981)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Other comprehensive loss:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Foreign currency translation adjustments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive loss</a></td>
<td class="num">$ (7,886)<span></span>
</td>
<td class="num">$ (5,981)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=123454820&amp;loc=SL4569643-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=123454820&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837879160">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Preferred Stock</div></th>
<th class="th"><div>Preferred Stock</div></th>
<th class="th">
<div>Preferred Stock </div>
<div>Preferred Stock</div>
</th>
<th class="th" colspan="2"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th">
<div>Additional Paid-in Capital </div>
<div>Preferred Stock</div>
</th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
<th class="th"><div>Accumulated Deficit</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance (in shares) at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,486,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2019</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 3,996<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 128,873<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (3)<span></span>
</td>
<td class="num">$ (124,874)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of common stock under employee stock option and stock purchase plans (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of common stock under employee stock option and stock purchase plans</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(3)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(3)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease', window );">Issuance of common stock and warrants (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">688,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock and warrants</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,749<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">2,749<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts', window );">Offering costs on issuance of common stock and warrants</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(510)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(510)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Issuance of common stock upon the exercise of warrants (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">269,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants', window );">Issuance of common stock upon the exercise of warrants</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,235<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">2,235<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued', window );">Warrant liability - issuance</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(1,636)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1,636)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified', window );">Warrant liability - modification</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">1,405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">112,000<span></span>
</td>
<td class="nump">2,709,000<span></span>
</td>
<td class="nump">22,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of notes to preferred stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,769<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,769<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">131<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">131<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(5,981)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,981)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2020</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">4,255<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">135,113<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="num">(130,855)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2020</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,597,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,525,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of common stock under employee stock option and stock purchase plans (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">79,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of common stock under employee stock option and stock purchase plans</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">80<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease', window );">Issuance of common stock and warrants (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,183,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock and warrants</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">9,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">9,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts', window );">Offering costs on issuance of common stock and warrants</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">$ (969)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">(969)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Issuance of common stock upon the exercise of warrants (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">237,892<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">237,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants', window );">Issuance of common stock upon the exercise of warrants</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,721,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">344,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(7,886)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,886)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Dec. 31, 2021</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 6,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 144,953<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (3)<span></span>
</td>
<td class="num">$ (138,741)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance (in shares) at Dec. 31, 2021</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">876,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,368,000<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="11"></td></tr>
<tr><td colspan="11"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Adjustments to Additional Paid in Capital, Warrant Reclassified</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123468992&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in additional paid in capital (APIC) resulting from the issuance of warrants. Includes allocation of proceeds of debt securities issued with detachable stock purchase warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 25<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123466302&amp;loc=d3e4724-112606<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of non-option equity instruments exercised by participants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of preferred stock and warrants for common stock issued.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the number of shares issued.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837894648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (7,886)<span></span>
</td>
<td class="num">$ (5,981)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net loss to net cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_GainLossFromEmployeeRetentionTaxCredit', window );">Other income - employee retention tax credit</a></td>
<td class="num">(876)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_GainLossOnForgivenessOfDebt', window );">Gain on forgiveness of PPP loan</a></td>
<td class="num">(801)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">188<span></span>
</td>
<td class="nump">184<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">429<span></span>
</td>
<td class="nump">131<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAdjustmentOfWarrants', window );">Change in fair value of warrant liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,086<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for doubtful accounts receivable</a></td>
<td class="nump">6<span></span>
</td>
<td class="num">(20)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Provision for slow-moving and obsolete inventories</a></td>
<td class="nump">156<span></span>
</td>
<td class="num">(610)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_IncreaseDecreaseInProvisionForWarranties', window );">Provision for warranties</a></td>
<td class="nump">68<span></span>
</td>
<td class="nump">31<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfDebtDiscountPremium', window );">Amortization of loan discounts and origination fees</a></td>
<td class="nump">230<span></span>
</td>
<td class="nump">395<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss on dispositions of property and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Change in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">783<span></span>
</td>
<td class="nump">377<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(2,381)<span></span>
</td>
<td class="nump">1,137<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDepositOtherAssets', window );">Short-term deposits</a></td>
<td class="nump">257<span></span>
</td>
<td class="num">(670)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid and other assets</a></td>
<td class="nump">669<span></span>
</td>
<td class="num">(18)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(423)<span></span>
</td>
<td class="nump">1,096<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued and other liabilities</a></td>
<td class="num">(380)<span></span>
</td>
<td class="nump">349<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue</a></td>
<td class="nump">196<span></span>
</td>
<td class="nump">54<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities', window );">Total adjustments</a></td>
<td class="num">(1,879)<span></span>
</td>
<td class="nump">3,530<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(9,765)<span></span>
</td>
<td class="num">(2,451)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Acquisitions of property and equipment</a></td>
<td class="num">(443)<span></span>
</td>
<td class="num">(223)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(443)<span></span>
</td>
<td class="num">(223)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants', window );">Proceeds from the issuance of common stock and warrants</a></td>
<td class="nump">9,500<span></span>
</td>
<td class="nump">2,749<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromWarrantExercises', window );">Proceeds from the exercise of warrants</a></td>
<td class="nump">801<span></span>
</td>
<td class="nump">918<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="num">(969)<span></span>
</td>
<td class="num">(510)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromPaycheckProtectionProgram', window );">Proceeds from PPP loan</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">795<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options and purchases through employee stock purchase plan</a></td>
<td class="nump">80<span></span>
</td>
<td class="nump">100<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Principal payments under finance lease obligations</a></td>
<td class="num">(3)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Common stock withheld in lieu of income tax withholding on vesting of restricted stock units</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfFinancingCosts', window );">Payments for deferred financing costs &amp; termination fees</a></td>
<td class="num">(30)<span></span>
</td>
<td class="num">(320)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Payments on the Iliad Note</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,306)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromNotesPayable', window );">Proceeds from the Streeterville Note</a></td>
<td class="nump">1,515<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">10,712<span></span>
</td>
<td class="nump">4,160<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash and restricted cash</a></td>
<td class="nump">504<span></span>
</td>
<td class="nump">1,486<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and restricted cash, beginning of year</a></td>
<td class="nump">2,178<span></span>
</td>
<td class="nump">692<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and restricted cash, end of year</a></td>
<td class="nump">2,682<span></span>
</td>
<td class="nump">2,178<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Classification of cash and restricted cash:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash</a></td>
<td class="nump">2,682<span></span>
</td>
<td class="nump">1,836<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash held in other assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">342<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and restricted cash</a></td>
<td class="nump">2,682<span></span>
</td>
<td class="nump">2,178<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid in year for interest</a></td>
<td class="nump">381<span></span>
</td>
<td class="nump">269<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Cash paid in year for income taxes</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_AustinCreditFacilityMember', window );">Austin Credit Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit', window );">Net proceeds from (payment on) credit line borrowings</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(719)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_CreditFacilitiesMember', window );">Credit Facilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit', window );">Net proceeds from (payment on) credit line borrowings</a></td>
<td class="num">$ (181)<span></span>
</td>
<td class="nump">$ 2,459<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_GainLossFromEmployeeRetentionTaxCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>(Gain) Loss From Employee Retention Tax Credit</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_GainLossFromEmployeeRetentionTaxCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_GainLossOnForgivenessOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gain (Loss) On Forgiveness Of Debt</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_GainLossOnForgivenessOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_IncreaseDecreaseInProvisionForWarranties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Provision For Warranties</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_IncreaseDecreaseInProvisionForWarranties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromIssuanceOfCommonStockAndWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds from Issuance of Common Stock and Warrants</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ProceedsFromIssuanceOfCommonStockAndWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromPaycheckProtectionProgram">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds From Paycheck Protection Program</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ProceedsFromPaycheckProtectionProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of adjustments which are added to or deducted from net income or loss, including the portion attributable to noncontrolling interest, to reflect cash provided by or used in operating activities, in accordance with the indirect cash flow method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfDebtDiscountPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495355-112611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfDebtDiscountPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAdjustmentOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (income) related to adjustment to fair value of warrant liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section 25<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=109262497&amp;loc=d3e20148-110875<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAdjustmentOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDepositOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDepositOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for loan and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromRepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net cash inflow or cash outflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's assets).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromRepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromWarrantExercises">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from holders exercising their stock warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromWarrantExercises</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_AustinCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_AustinCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_CreditFacilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_CreditFacilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844264936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Nature of Operations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">Nature of Operations</a></td>
<td class="text">NATURE OF OPERATIONS<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls and ultraviolet-C light disinfection (&#8220;UVCD&#8221;) products. We develop, market and sell high quality light-emitting diode (&#8220;LED&#8221;) lighting and controls products and UVCD products in the commercial market and military maritime market (&#8220;MMM&#8221;), and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities, offices and homes with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit and UVCD solutions. Our goal is to be the LED and human-centric lighting (&#8220;HCL&#8221;) technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#8220;TLED&#8221;) products, as well as other LED and lighting control products for commercial and consumer applications. In late 2020, we announced the launch of our UVCD product portfolio. With initial development complete and two products now brought to market, we anticipate the development of additional UVCD products in 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The LED lighting industry continues to be characterized by increasing challenges in differentiating product offerings, competition and price erosion. We have been experiencing these industry forces in both our military business since 2016 and in our commercial segment where we once commanded significant price premiums for our flicker-free TLEDs with primarily 10-year warranties. In more recent years, we have focused on redesigning our products for lower costs and consolidating our supply chain in order to price our products more competitively. Despite these efforts, our legacy products continue to face aggressive pricing competition. These trends are not unique to Energy Focus as evidenced by the increasing number of industry peers facing challenges, exiting LED lighting, selling assets and even going out of business. In addition to continuous cost reductions, our strategy to combat these trends is to move up the value chain, with more innovative and differentiated products and solutions that support a premium. Two specific examples of these</span><span style="color:#ee2724;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">products we have recently developed include the RedCap</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-4.2pt;vertical-align:baseline">&#174;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, our emergency backup battery integrated TLED, and EnFocus&#8482;, our new dimmable/tunable lighting and powerline control platform that we launched in 2020. We believe our revamped go-to-market strategy that focuses more on direct-sales and additional sales representatives and listens to the voice of the customer, has informed more impactful product development efforts that could eventually translate into larger addressable markets and greater sales growth for us.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2021, we continued to see certain benefits from the relaunch efforts (described below) that began in 2019, in addition to a number of strategic sourcing projects completed during 2020. It is our belief that the continued momentum of the efforts undertaken in 2020 and into 2021, along with the development and launch of new and innovative products, will over time result in improved sales and bottom-line performance for the Company. We launched our EnFocus&#8482; platform during the second quarter of 2020 and continued to receive positive feedback from the market. The EnFocus&#8482; powerline control platform offers two immediately available product lines: EnFocus&#8482; DM, which provides a dimmable lighting solution, and EnFocus&#8482; DCT, which provides both a dimmable and color tunable lighting solution. EnFocus&#8482; enables buildings to have dimmable, color tunable and circadian-ready lighting using existing wiring, without requiring any wireless communications, through a relatively simple upgrade with EnFocus&#8482; switches and replacement LED lamps, a more environmentally sustainable solution compared with replacing each lighting fixture.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, in response to the COVID-19 pandemic and an anticipated increase in sanitation and hygiene demand for buildings, facilities and homes, we started developing advanced UVCD products for both the consumer and the commercial and industrial markets in the first quarter of 2020. In late 2020, we announced the nUVo&#8482; portable disinfection devices for offices and homes. Sales of these products began during the fourth quarter of 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to 2019, the Company experienced significant sales declines, operating losses and increases in its inventory. Beginning in 2019, significant restructuring efforts were undertaken. The Company replaced the entire senior management team, significantly reduced non-critical expenses, minimized the amount of inventory the Company was purchasing, dramatically changed the composition of our board of directors (&#8220;Board of Directors&#8221;) and the executive team, and recruited new departmental leaders across the Company. The cost savings efforts undertaken included phased actions to reduce costs to minimize cash usage. Initial actions included the elimination of certain positions, restructuring of the sales organization and incentive plan, flattening of the senior management team, additional operational streamlining, management compensation reductions, and outsourcing of certain functions including certain elements of supply chain and marketing.</span></div>On June 11, 2020, in accordance with previous stockholder approval, our Board of Directors effected a 1-for-5 (the &#8220;Split Ratio&#8221;) reverse stock split of the Company&#8217;s common stock, par value $0.0001 per share. The reverse stock split became effective immediately upon the filing of the Certificate of Amendment to the Company&#8217;s Certificate of Incorporation, as amended (the &#8220;Certificate of Incorporation&#8221;), with the Delaware Secretary of State (the &#8220;Effective Time&#8221;). At the Effective Time, every five shares of common stock issued and outstanding automatically combined into one validly issued, fully paid and non-assessable share of common stock. No fractional shares were issued as a result of the reverse stock split. The $0.0001 par value per share of common stock and other terms of the common stock were not affected by the reverse stock split. The number of authorized shares of common stock under the Certificate of Incorporation remained unchanged at 50,000,000 shares. Proportional adjustments were made to the conversion and exercise prices of our outstanding warrants and stock options, and to the number of shares issued and issuable under our stock incentive plans in connection with the reverse stock split. The information presented in the financial statements for all prior periods have been retroactively adjusted to reflect the reverse stock split. Preferred shares outstanding were not affected by the reverse stock split and, as such, those shares have not been adjusted.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844264936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The significant accounting policies of our Company, which are summarized below, are consistent with U.S. GAAP and reflect practices appropriate to the business in which we operate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods presented. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory excess and obsolescence reserve and warranty claims, the useful lives for property and equipment and stock-based compensation. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Consolidated Financial Statements include the accounts of the Company. All significant inter-company balances and transactions have been eliminated. Unless indicated otherwise, the information in the Notes to Consolidated Financial Statements relates to our operations.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#8217; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities and collected by us are accounted for on a net basis and are excluded from net sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A disaggregation of product net sales is presented in Note 12, &#8220;Product and Geographic Information.&#8221;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash and restricted cash</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, we had cash of $2.7 million and at December&#160;31, 2020, we had cash and restricted cash of $2.2 million on deposit with financial institutions located in the United States. The December&#160;31, 2020 cash balance of $2.2 million of cash includes restricted cash of $0.3 million which is presented within prepaid and other current assets and other assets in the accompanying Consolidated Balance Sheets. Please refer to Note 4, &#8220;Leases,&#8221; for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We state inventories at the lower of standard cost (which approximates actual cost determined using the first-in-first-out method) or net realizable value. We establish provisions for excess and obsolete inventories after evaluation of historical sales, current economic trends, forecasted sales, product lifecycles, and current inventory levels. The assessment is both quantitative and qualitative. During 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components. This resulted in a net increase of our gross inventory levels of $2.4&#160;million. We had an increase of excess inventory reserves of $0.2&#160;million as compared to 2020. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The assessment for excess and obsolete inventories for 2020 not only included both quantitative and qualitative components, but a COVID-19 pandemic impact analysis as well. Throughout 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand which resulted in a net reduction of our gross inventory levels of $1.2&#160;million and excess inventory reserves of $0.6&#160;million compared to 2019. Adjustments to our estimates, such as forecasted sales and expected product lifecycles, could harm our operating results and financial position. Please refer to Note 5, &#8220;Inventories,&#8221; for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts receivable</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#8217;s financial condition and the amounts due are stated at their estimated net realizable value. We utilize a third-party account receivables insurance program with a very high credit worthy insurance company where we have the large majority of the accounts receivable insured with a portion of self-retention. This third party also provides credit-worthiness ratings and metrics that significantly assist us in evaluating the credit worthiness of both existing and new customers. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated amount of account receivables that will not be collected. The allowance is based on an assessment of customer creditworthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases to major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income taxes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the process of preparing the Consolidated Financial Statements, we are required to estimate our income tax liability in each of the jurisdictions in which we do business. This process involves estimating our actual current tax expense together with assessing temporary differences resulting from differing treatment of items, such as deferred revenues, for tax and accounting purposes. These differences result in deferred tax assets and liabilities, which are included in our Consolidated Balance Sheets. We then assess the likelihood of the deferred tax assets being recovered from future taxable income and, to the extent we believe it is more likely than not that the deferred tax assets will not be recovered, or is unknown, we establish a valuation allowance. Significant management judgment is required in determining our provision for income taxes, deferred tax assets and liabilities, and any valuation allowance recorded against our deferred tax assets. At December&#160;31, 2021 and 2020, we have recorded a full valuation allowance against our net deferred tax assets due to uncertainties related to our ability to utilize our deferred tax assets, primarily consisting of certain net operating losses carried forward. The valuation allowance is based upon our estimates of taxable income by jurisdiction and the period over which our deferred tax assets will be recoverable. In considering the need for a valuation allowance, we assess all evidence, both positive and negative, available to determine whether all or some portion of the deferred tax assets will not be realized.&#160;Such evidence includes, but is not limited to, recent earnings history, projections of future income or loss, reversal patterns of existing taxable and deductible temporary differences, and tax planning strategies.&#160;We continue to evaluate the need for a valuation allowance on a quarterly basis.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Instruments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">December 2021 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed a private placement (the &#8220;December 2021 Private Placement&#8221;) with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) pre-funded warrants (&#8220;Pre-Funded Warrants&#8221;) to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. We paid the placement agent commissions of $360&#160;thousand, plus $42&#160;thousand in expenses, in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $97&#160;thousand related to the December 2021 Private Placement. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021. Net proceeds to us from the December 2021 Private Placement were approximately $4.0 million. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the 85,228 shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic earnings per share (&#8220;EPS&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of 1,363,641 shares remained outstanding, with a weighted average exercise price of $3.30 per share. None of the December 2021 Warrants were exercised as of December&#160;31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5&#160;million in the aggregate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">June 2021 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2021, we completed a registered direct offering of 990,100 shares of our common stock to certain institutional investors, at a purchase price of $5.05 per share (the &#8220;June 2021 Equity Offering&#8221;). We paid the placement agent commissions of $400 thousand, plus $51 thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $19 thousand related to the June 2021 Equity Offering. Total offering costs of $470 thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $4.5 million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">January 2020 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share (the, &#8220;Investor Warrants&#8221;) in a concurrent private placement (together with the concurrent registered direct offering, the &#8220;January 2020 Equity Offering&#8221;) for a purchase price of $0.625 per warrant. We paid the placement agent commissions of $193&#160;thousand plus $50&#160;thousand in expenses in connection with the January 2020 Equity Offering and we also paid legal, accounting and other fees of $231&#160;thousand related to the January 2020 Equity Offering. Total offering costs of $510&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020. In addition, we issued warrants to the placement agent to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share (together with the Investor Warrants, the &#8220;January 2020 Warrants&#8221;). Net proceeds to us from the January 2020 Equity Offering were approximately $2.3 million. In accordance with the terms of the Iliad Note (as defined below in Note 8, &#8220;Debt&#8221;), 10% of the gross proceeds from the January 2020 Equity Offering ($275 thousand) were used to make payments on the Iliad Note, of which $226 thousand went towards the outstanding principal amount and the balance to interest.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, January 2020 Warrants issued to purchase an aggregate of 229,414 shares remain outstanding with a weighted average exercise price of $3.67 per share. During the twelve months ended December&#160;31, 2021, 237,892 January 2020 Warrants were exercised resulting in total proceeds of $801 thousand. The exercise of the remaining January 2020 Warrants outstanding could provide us with cash proceeds of up to $841 thousand in the aggregate. At December&#160;31, 2020, January 2020 Warrants issued to purchase an aggregate of 467,306 shares remained outstanding with a weighted average exercise price of $3.51 per share. During the twelve months ended December&#160;31, 2020, 269,240 January 2020 Warrants were exercised resulting in total proceeds of $918 thousand.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to a potential cash settlement upon occurrence of a fundamental transaction within the January 2020 Equity Offering warrant agreement, the January 2020 Warrants were initially classified as liabilities, as opposed to equity, and were recorded at their fair values at each balance sheet date for the first three quarters of 2020. During December 2020, the warrant holders agreed to a modification of the terms of their January 2020 Warrants which removed the potential cash settlement option upon the occurrence of a fundamental transaction. As such, during the fourth quarter of 2020, the warrant liability was fair-valued through the modification date and then was reclassified into equity and the January 2020 Warrants are no longer subject to re-measurement at each balance sheet date. Please also refer to Note 10, &#8220;Stockholders&#8217; Equity&#8221;.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair value measurements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or would be paid to transfer a liability in an orderly transaction between market participants on the measurement date. The fair value of financial assets and liabilities are measured on a recurring or non-recurring basis. Financial assets and liabilities measured on a recurring basis are those that are adjusted to fair value each time a financial statement is prepared. Financial assets and liabilities measured on a non-recurring basis are those that are adjusted to fair value when a significant event occurs.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We utilize valuation techniques that maximize the use of available market information and generally accepted valuation methodologies. We assess the inputs used to measure fair value using a three-tier hierarchy. The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"/><td style="width:8.509%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:89.291%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for identical assets or liabilities.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unobservable inputs for the asset or liability.</span></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A financial instrument&#8217;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A roll-forward of fair value measurements using significant unobservable inputs (Level 3) for the January 2020 Warrants issued in the January 2020 Equity Offering is as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"/><td style="width:79.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.270%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Twelve months ended December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Balance January 1, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Issuance of warrants, January 2020</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">1,636&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Settlements from exercise</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,317)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Loss from change in fair value of warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">1,086&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Reclassification to equity upon modification </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Balance December 31, 2020</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Long-lived assets&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and include expenditures for additions and major improvements. Expenditures for repairs and maintenance are charged to operations as incurred. We use the straight-line method of depreciation over the estimated useful lives of the related assets (generally <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDA5_a382e080-4adf-47d2-b9ae-c9ef896c4927">two</span> to 15 years) for financial reporting purposes. Accelerated methods of depreciation are used for federal income tax purposes. When assets are sold or otherwise disposed of, the cost and accumulated depreciation are removed from the accounts and any gain or loss is reflected in the Consolidated Statements of Operations. Refer to Note 6, &#8220;Property and Equipment,&#8221; for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets are reviewed for impairment whenever events or circumstances indicate the carrying amount may not be recoverable. Events or circumstances that would result in an impairment review primarily include operations reporting losses, a significant change in the use of an asset, or the planned disposal or sale of the asset. The asset would be considered impaired when the future net undiscounted cash flows generated by the asset are less than its carrying value. An impairment loss would be recognized based on the amount by which the carrying value of the asset exceeds its fair value, as determined by quoted market prices (if available) or the present value of expected future cash flows. Refer to Note 6, &#8220;Property and Equipment,&#8221; for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Certain risks and concentrations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically our products were sold through a direct sales model, which included a combination of direct sales employees, electrical and lighting contractors, and distributors. We utilize a third-party accounts receivable insurance and credit assessment company. Although we maintain allowances for potential credit losses that we believe to be adequate, a payment default on a significant sale could materially and adversely affect our operating results and financial condition, although we have mitigated this risk somewhat through the accounts receivable insurance program.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable, as follows:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">In 2021, two customers accounted for 43% of net sales, with sales to our primary distributor for the U.S. Navy accounting for approximately 30% and sales to a regional commercial lighting retrofit company accounting for approximately 13% of net sales. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 38% of net sales for the same period. In 2020, two customers accounted for 62% of net sales and total net sales of products to the U.S. Navy represented 53% of net sales.</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">At December&#160;31, 2021, a distributor to the U.S. Department of Defense accounted for 20% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 36% of our net trade accounts receivable. At December&#160;31, 2020, a distributor to the U.S. Navy accounted for 28% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 21% of our net trade accounts receivable.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We require substantial amounts of purchased materials from selected vendors. With specific materials, all of our purchases are from a single vendor. The availability and costs of materials may be subject to change due to, among other things, new laws or regulations, suppliers&#8217; allocation to other purchasers, interruptions in production by suppliers, global health issues such as the COVID-19 pandemic, and changes in exchange rates and worldwide price and demand levels. Our inability to obtain adequate supplies of materials for our products at favorable prices could have a material adverse effect on our business, financial position, or results of operations by decreasing our profit margins and by hindering our ability to deliver products to our customers on a timely basis. Additionally, certain vendors require advance deposits prior to the fulfillment of orders. Deposits paid on unfulfilled orders totaled $0.7 million and $0.8 million at December&#160;31, 2021 and 2020, respectively.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain vendors who individually represented 10% or more of our total expenditures, or whose net trade accounts payable balance individually represented 10% or more of our total net trade accounts payable, as follows:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">One offshore supplier accounted for approximately 29% of our total expenditures for the twelve months ended December&#160;31, 2021. At December&#160;31, 2021, this same offshore supplier accounted for approximately 60% of our trade accounts payable balance.</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">One offshore supplier and one domestic supplier accounted for approximately 21% and 12%, respectively, of our total expenditures for the twelve months ended December&#160;31, 2020. At December&#160;31, 2020, this same offshore supplier accounted for approximately 44% of our trade accounts payable balance.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product development</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product development expenses include salaries, contractor and consulting fees, supplies and materials, as well as costs related to other overhead items such as depreciation and facilities costs. Research and development costs are expensed as they are incurred.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net loss per share</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a reconciliation of basic and diluted loss per share computations (in thousands, except per share amounts):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:68.929%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.522%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss </span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,886)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,981)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic and diluted weighted average common shares outstanding*</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,561&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,270&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="12" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*Shares outstanding for prior periods have been restated for the 1-for-5 stock split effective June 11, 2020.</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the net loss we incurred for the year ended December&#160;31, 2021, options, warrants and convertible preferred stock representing approximately 51&#160;thousand, 47&#160;thousand and 260&#160;thousand shares of common stock, respectively, were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the approximately 85&#160;thousand shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic EPS.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the net loss we incurred for the year ended December&#160;31, 2020, options, restricted share units, warrants and convertible preferred stock representing approximately 69 thousand, 4&#160;thousand, 174&#160;thousand and 506&#160;thousand shares of common stock, respectively, were excluded from the basic EPS calculation as their inclusion would have been anti-dilutive.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize compensation expense based on the estimated grant date fair value under the authoritative guidance. Management applies the Black-Scholes option pricing model to value stock options issued to employees and directors and applies judgment in estimating key assumptions that are important elements of the model in expense recognition. These elements include the expected life of the option, the expected stock-price volatility, and expected forfeiture rates. Compensation expense is generally amortized on a straight-line basis over the requisite service period, which is generally the vesting period. See Note 10, &#8220;Stockholders&#8217; Equity,&#8221; for additional information. Common stock, stock options, and warrants issued to non-employees that are not part of an equity offering are accounted for under the applicable guidance under Accounting Standards Codification (&#8220;ASC&#8221;) 505-50, &#8220;Equity-Based Payments to Non-Employees,&#8221; and are generally re-measured at each reporting date until the awards vest.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Advertising expenses</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Advertising expenses are charged to operations in the period incurred. They consist of costs for the placement of our advertisements in various media and the costs of demos provided to potential distributors of our products. Advertising expenses were $0.4 million and $0.1 million for the years ended December&#160;31, 2021 and 2020, respectively.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product warranties</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We warrant our commercial and MMM LED products and controls for periods generally ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f2241f38-2999-4d07-a4c3-3f46b21079ae"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f99b5010-37ff-40ae-9fe5-83566fecd2e0">five</span></span> to ten years and from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1Mjk_fbbd22c1-2b2b-46a1-8c5e-8410f2bdbbb7">one</span> to five years for UVCD products. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes warranty activity for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:68.841%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.564%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at the beginning of the year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">227&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accruals for warranties issued</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(41)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to existing warranties</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Settlements made during the year (in kind)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accrued warranty reserve at the end of the period</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">295&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">227&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">In November 2021, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU No. 2021-10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%">Government Assistance (Topic 832)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"> (&#8220;ASU 2021-10&#8221;), in order to increase the transparency of government assistance by requiring the disclosure of: (i) types of assistance; (ii) an entity&#8217;s accounting for the assistance; and (iii) the effect of the assistance on an entity&#8217;s financial statements. ASU 2021-10 is effective for all entities (including smaller reporting companies) for financial statements issued for annual periods beginning after December 15, 2021, with early adoption permitted. The amendments in ASU 2021-10 should be applied either prospectively to all transactions within scope reflected in the financial statements after the effective date, or retrospectively to those same transactions. The Company has early adopted the new standard effective as of December 31, 2021. Refer to Note 13 &#8220;Other Income,&#8221; for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2020, the FASB issued ASU No. 2020-06, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity&#8217;s Own Equity (Subtopic 815-40)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;ASU 2020-06&#8221;), to simplify accounting for certain financial instruments with characteristics of liabilities or equity. ASU 2020-06 is effective for smaller reporting companies for fiscal years beginning after December 15, 2023 and interim periods therein. Early adoption is permitted beginning January 1, 2021. The new guidance: (i) eliminates the current models that require separation of beneficial conversion and cash conversion features from convertible instruments; (ii) simplifies the derivative scope exception guidance pertaining to equity classification of contracts in an entity&#8217;s own equity; (iii) introduces additional disclosures for convertible debt and freestanding instruments that are indexed to and settled in an entity&#8217;s own equity; and (iv) amends the diluted earnings per share guidance, including the requirement to use the if-converted method for all convertible instruments. The Company early adopted the new standard effective January 1, 2021. The adoption of ASU 2020-06 did not have an impact on the Company&#8217;s financial position or results of operations upon adoption.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently issued accounting pronouncements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU No. 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. This standard will be effective for interim and annual periods starting after December 15, 2022 and will generally require adoption on a modified retrospective basis. We are in the process of evaluating the impact of the standard.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844260488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock', window );">Restructuring</a></td>
<td class="text">RESTRUCTURING<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to our financial performance in 2021 and 2020, including net losses of $7.9 million and $6.0 million, respectively, and total cash used in operating activities of $9.8 million and $2.5 million, respectively, we determined that substantial doubt about our ability to continue as a going concern continues to exist at December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to 2019, the Company experienced significant sales declines, operating losses and increases in its inventory. Beginning in 2019, significant restructuring efforts were undertaken. The Company replaced the entire senior management team, significantly reduced non-critical expenses, minimized the amount of inventory the Company was purchasing, dramatically changed the composition of our Board of Directors and the executive team, and recruited new departmental leaders across the Company. The cost savings efforts undertaken included phased actions to reduce costs to minimize cash usage. Initial actions included the elimination of certain positions, restructuring of the sales organization and incentive plan, flattening of the senior management team, additional operational streamlining, management compensation reductions, and outsourcing of certain functions including certain elements of supply chain and marketing.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the twelve months ended December&#160;31, 2021 and 2020, we recorded net restructuring credits of approximately $21 thousand and $60 thousand, respectively, related to the costs and offsetting sub-lease income and accretion expense for the remaining lease obligation for our former New York, New York office. The lease obligation on our former New York, New York office was settled as of June 30, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our restructuring liabilities consisted of estimated ongoing costs related to long-term operating lease obligations, which the Company exited. The recorded value of the ongoing lease obligations was based on the remaining lease term and payment amount, discounted to present value. Changes in subsequent periods resulting from a revision to either the timing or the amount of estimated cash flows over the future period were measured using the credit adjusted, risk free rate that was used to measure the restructuring liabilities initially.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the beginning and ending balances of our restructuring liability as it relates to the Company&#8217;s restructuring plans (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:83.256%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restructuring Liability</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2019</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accretion of lease obligations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2020</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the ending balance of our restructuring liability at December&#160;31, 2021 and December&#160;31, 2020 (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less, short-term restructuring liability</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term restructuring liability, included in other liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the restructuring actions and initiatives described above, we have tailored our operating expenses to be more in line with our expected sales volumes, however, we continue to incur losses and have a substantial accumulated deficit, and substantial doubt about our ability to continue as a going concern continues to exist at December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Throughout 2020 and 2021, we have continued to evaluate and assess strategic options as we seek to achieve profitability. We plan to continue to develop advanced lighting and lighting control technologies and introduce impactful new products surrounding EnFocus</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">TM</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, a patented, breakthrough powerline control platform we officially launched during the second quarter of 2020. We announced the following UVCD products beginning in the fourth quarter of 2020: nUVo&#8482; Tower portable air disinfection device for offices and homes and nUVo&#8482; Traveler portable personal air disinfection device for in-vehicle and smaller spaces. Initial sales of nUVo&#8482; devices began in the fourth quarter of 2021, and we anticipate the development of additional products in 2022.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We plan to achieve profitability by growing our sales through existing lighting, new lighting control systems and UVCD products, and by continuing to refine and execute on our multi-channel sales strategy that targets key verticals, such as government, healthcare, education, and commercial and industrial, complemented by our marketing outreach campaigns and expanding channel partnerships, as well as our emerging consumer market focus.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As described in Note 10, &#8220;Stockholders&#8217; Equity,&#8221; we raised approximately $4.0 million of net proceeds upon the issuance of common stock and December 2021 Warrants in connection with the December 2021 Private Placement, approximately $4.5 million of net proceeds upon the issuance of common stock in connection with the June 2021 Equity Offering, and approximately $2.3 million of net proceeds upon the issuance of common stock and January 2020 Warrants. As described in Note 8, &#8220;Debt&#8221;, in April 2021, we obtained approximately $1.5 million of bridge financing, net and in August 2020, we entered into two new revolving credit facilities, which allow for expanded borrowing capacity, which capacity was further increased by an April 20, 2021 amendment to one of the facilities.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The restructuring and cost cutting initiatives implemented during 2020 and continuing into 2021, as well as the December 2021 Private Placement, the June 2021 Equity Offering and the January 2020 Equity Offering that significantly strengthened our balance sheet, the Paycheck Protection Program (&#8220;PPP&#8221;) loan we obtained in April 2020, our enhanced debt capacity due to the debt refinancing in August 2020, the credit facility capacity increase and bridge financing in April 2021, and the funds we received, and expect to receive, related to the Employee Retention Tax Credit (&#8220;ERTC&#8221;), see Note 13, &#8220;Other Income&#8221; for details), were all designed to allow us to effectively execute these strategies. However, our efforts may not occur as quickly as we envision or be successful due to the long sales cycle in our industry, the corresponding time required to ramp up sales from new products, markets, and customers into this sales cycle, the timing of introductions of additional new products, significant competition, potential sales volatility given our customer concentration, numerous interruptions and cost increases in the supply chain globally, and the ongoing and lingering economic impact from the COVID-19 pandemic that has significantly diminished the interest and activities for our customers&#8217; lighting retrofit projects until occupancy returns to more normal levels, among other factors.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, global supply chain and logistics constraints are impacting our inventory purchasing strategy, leading to a buildup of inventory and components in an effort to manage both shortages of available components and longer lead times in obtaining components. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. As a result, we will continue to review and pursue selected external funding sources to ensure adequate financial resources to execute across the timelines required to achieve these objectives including, but not limited to, the following:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining financing from traditional or non-traditional investment capital organizations or individuals; </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining funding from the sale of our common stock or other equity or debt instruments; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">obtaining debt financing with lending terms that more closely match our business model and capital needs.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional funding contains risks, including:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">additional equity financing may not be available to us on satisfactory terms, and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">loans or other debt instruments may have terms or conditions, such as interest rate, restrictive covenants, conversion features, refinancing demands, and control or revocation provisions, which are not acceptable to management or our Board of Directors; and</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">the current environment in the capital markets combined with our capital constraints may prevent us from being able to obtain adequate debt financing.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, if we are unable to find a permanent Chief Executive Officer, it may be more difficult to obtain additional financing on satisfactory terms or at all. If we fail to obtain the required additional financing to sustain our business before we are able to produce levels of revenue to meet our financial needs, we will need to delay, scale back or eliminate our growth plans and further reduce our operating costs and headcount, each of which would have a material adverse effect on our business, future prospects, and financial condition. A lack of additional funding could also result in our inability to continue as a going concern and force us to sell certain assets or discontinue or curtail our operations and, as a result, investors in the Company could lose their entire investment.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Considering both quantitative and qualitative information, we continue to believe that the combination of our plans to ensure adequate external funding, timely re-organizational actions, current financial position, liquid resources, obligations due or anticipated within the next year, development and implementation of an excess inventory reduction plan, plans and initiatives in our research and development, product development and sales and marketing, and development of potential channel partnerships, if adequately executed, will provide us with an ability to finance our operations through the next twelve months and will mitigate the substantial doubt about our ability to continue as a going concern.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On August 17, 2020, we received a letter from the Listing Qualifications staff (the &#8220;Staff&#8221;) of The Nasdaq Stock Market (&#8220;Nasdaq&#8221;) notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#8217; equity of at least $2,500,000 if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#8220;Minimum Stockholders&#8217; Equity Rule&#8221;). Our Quarterly Report on Form 10-Q for the quarterly period ended June 30, 2020, filed on August 13, 2020, reflected that our stockholders&#8217; equity as of June 30, 2020 was $1,714,000. Based on our timely submission of our plan to regain compliance, Nasdaq granted us an extension through February 15, 2021 to regain compliance with the Minimum Stockholders&#8217; Equity Rule. In accordance with one part of the plan submitted to the Staff, we successfully modified our outstanding January 2020 Warrants and in December 2020, we reclassified $1.4&#160;million from warrant liability into equity. On January 20, 2021, we received a letter from the Staff notifying us that, on a conditional basis, Nasdaq has determined that we have regained compliance with the Minimum Stockholders&#8217; Equity Rule. At December 31, 2020, our stockholders&#8217; equity was $4,255,000, satisfying the Minimum Stockholders&#8217; Equity Rule. At December&#160;31, 2021, our stockholders&#8217; equity was $6,209,000.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">On December 21, 2021, we received a letter from the Staff notifying the Company that, as a result of the resignation of a director, as previously disclosed, from the Board of Directors and the Audit and Finance Committee, we are not in compliance with Nasdaq Listing Rule 5605, which requires that our Audit and Finance Committee be comprised of at least three directors, all of whom are independent pursuant to the rules of Nasdaq and applicable law. The notification letter had no immediate effect on the Company&#8217;s listing on the Nasdaq Capital Market. The letter further provided that, pursuant to Nasdaq Listing Rule 5605(c)(4), we are entitled to a cure period to regain compliance with Nasdaq Listing Rule 5605, which cure period will expire on the earlier of the date of our next annual shareholders&#8217; meeting and November 11, 2022, or, if the next annual shareholders&#8217; meeting is held before May 10, 2022, then the cure period will expire on May 10, 2022. The Board of Directors has commenced a search for a new independent director, who would be expected to serve on our Audit and Finance Committee, or the Board of Directors will otherwise appoint a current independent director to fill the vacancy on the committee.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(e))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -URI http://asc.fasb.org/topic&amp;trid=2175745<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006842311272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeFinanceLeasesTextBlock', window );">Leases</a></td>
<td class="text">LEASES<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases expiring through 2026 under which it is responsible for related maintenance, taxes and insurance. The Company has one finance lease containing a bargain purchase option upon expiration in 2022. The lease term consists of the non-cancellable period of the lease, periods covered by options to extend the lease if the Company is reasonably certain to exercise the option, and periods covered by an option to terminate the lease if the Company is reasonably certain not to exercise the option. As of January 21, 2021, the terms of one of these equipment operating leases has been extended through 2026. In accordance with ASC 842, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 842&#8221;), the related right-of-use asset and lease liability was updated at the time of modification in January 2021. The present value of the lease obligation for this lease was calculated using an incremental borrowing rate of 15.93%, which was the Company&#8217;s blended borrowing rate (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 8, &#8220;Debt&#8221;) and Factors Southwest L.L.C (as described below in Note 8, &#8220;Debt&#8221;). The present value of the remaining lease obligation was calculated using an incremental borrowing rate (&#8220;IBR&#8221;) of 7.25% (which excludes the annual facility fee and other lender fees), which was the Company&#8217;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#8220;Austin Facility&#8221;). The weighted average remaining lease term for operating and finance leases is 0.8 years and 0.3 years, respectively.</span><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had one restructured lease with a sub-lease component for the New York, New York office that was closed in 2017. The lease expired in June 2021. As part of the lease agreement, there was $0.3&#160;million in restricted cash in prepaid and other current assets on the accompanying Consolidated Balance Sheets as of December&#160;31, 2020 which represented collateral against the related Letter of Credit issued as part of this agreement. Per the terms of the lease agreement, the restrictions on the cash were lifted in September 2021 and the cash was returned to the Company.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The restructured lease and sub-lease were deemed to be in-scope and thus subject to the requirements of Topic 842 and were evaluated for impairment in accordance with the asset impairment provisions of ASC 360, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Property, Plant and Equipment</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 360&#8221;). The Company concluded its net right-of-use assets were not impaired and the carrying amount approximates expected sublease income in future years as of December&#160;31, 2021 and 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of the operating, restructured and finance lease costs recognized in net loss were as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating lease cost (income)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(112)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(105)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost, net</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">446&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">492&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:8pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restructured lease cost (income)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(136)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(272)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease income, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease cost, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">420&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">457&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental Consolidated Balance Sheet information related to the Company&#8217;s operating and finance leases are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">292&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">794&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets, total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">292&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">901&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">916&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,084&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowances for depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease assets, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finance lease liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:62.350%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:17.176%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Lease</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">332&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">359&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ended December 31,</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental Cash Flow Information:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid, net, for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">532&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">537&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from restructured leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">LEASES<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases expiring through 2026 under which it is responsible for related maintenance, taxes and insurance. The Company has one finance lease containing a bargain purchase option upon expiration in 2022. The lease term consists of the non-cancellable period of the lease, periods covered by options to extend the lease if the Company is reasonably certain to exercise the option, and periods covered by an option to terminate the lease if the Company is reasonably certain not to exercise the option. As of January 21, 2021, the terms of one of these equipment operating leases has been extended through 2026. In accordance with ASC 842, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 842&#8221;), the related right-of-use asset and lease liability was updated at the time of modification in January 2021. The present value of the lease obligation for this lease was calculated using an incremental borrowing rate of 15.93%, which was the Company&#8217;s blended borrowing rate (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 8, &#8220;Debt&#8221;) and Factors Southwest L.L.C (as described below in Note 8, &#8220;Debt&#8221;). The present value of the remaining lease obligation was calculated using an incremental borrowing rate (&#8220;IBR&#8221;) of 7.25% (which excludes the annual facility fee and other lender fees), which was the Company&#8217;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#8220;Austin Facility&#8221;). The weighted average remaining lease term for operating and finance leases is 0.8 years and 0.3 years, respectively.</span><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had one restructured lease with a sub-lease component for the New York, New York office that was closed in 2017. The lease expired in June 2021. As part of the lease agreement, there was $0.3&#160;million in restricted cash in prepaid and other current assets on the accompanying Consolidated Balance Sheets as of December&#160;31, 2020 which represented collateral against the related Letter of Credit issued as part of this agreement. Per the terms of the lease agreement, the restrictions on the cash were lifted in September 2021 and the cash was returned to the Company.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The restructured lease and sub-lease were deemed to be in-scope and thus subject to the requirements of Topic 842 and were evaluated for impairment in accordance with the asset impairment provisions of ASC 360, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Property, Plant and Equipment</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;Topic 360&#8221;). The Company concluded its net right-of-use assets were not impaired and the carrying amount approximates expected sublease income in future years as of December&#160;31, 2021 and 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of the operating, restructured and finance lease costs recognized in net loss were as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating lease cost (income)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(112)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(105)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost, net</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">446&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">492&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:8pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restructured lease cost (income)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(136)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(272)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease income, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease cost, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">420&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">457&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental Consolidated Balance Sheet information related to the Company&#8217;s operating and finance leases are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">292&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">794&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets, total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">292&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">901&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">916&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,084&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowances for depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease assets, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finance lease liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:62.350%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:17.176%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Lease</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">332&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">359&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ended December 31,</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental Cash Flow Information:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid, net, for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">532&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">537&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from restructured leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeFinanceLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeFinanceLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844468568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text">INVENTORIES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value and consists of the following (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:61.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.282%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.283%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,882&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,695&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,034&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,840&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserve for excess, obsolete, and slow-moving inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,050)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,894)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Inventories, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,866&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,641&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.326%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.128%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.516%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,894)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,518)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrual</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(281)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reduction due to sold inventory</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">343&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,050)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,894)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Throughout 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components. This resulted in a net increase of our gross inventory levels of $2.4&#160;million and excess inventory reserves of $0.2&#160;million as compared to 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand, which resulted in a net reduction of our gross inventory levels of $1.2&#160;million and excess inventory reserves of $0.6&#160;million compared to 2019.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844307752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property and Equipment</a></td>
<td class="text">PROPERTY AND EQUIPMENT<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:61.509%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.228%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.230%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equipment (useful life 3 - 15 years)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,308&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,281&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tooling (useful life 2 - 5 years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">384&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">240&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vehicles (useful life 5 years)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures (useful life 5 years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer software (useful life 3 years)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,194&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,057&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements (the shorter of useful life or lease life)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">169&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">169&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease right-of-use asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">UV - Robots (useful life 5 years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">135&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment at cost</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,477&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,084&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,802)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,664)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">675&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">420&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense was $0.2 million for both of the years ended December&#160;31, 2021 and 2020. There were no impairment charges for property and equipment during 2021 and 2020.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI http://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844306344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Prepaid Expenses and Other Current Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract', window );"><strong>Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherCurrentAssetsTextBlock', window );">Prepaid and Other Current Assets</a></td>
<td class="text">PREPAID AND OTHER CURRENT ASSETS<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid and other current assets consisted of the following (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:68.841%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.564%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid insurance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">253&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">233&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid rent</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term deposits - non-inventory</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">342&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ERTC funds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">445&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total prepaid and other current assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">924&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">782&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherCurrentAssetsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for other current assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherCurrentAssetsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844445208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Debt</a></td>
<td class="text">DEBT<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Credit Facilities</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 11, 2020, we entered into two debt financing arrangements (together, the &#8220;Credit Facilities&#8221;) that allow for expanded borrowing capacity at a lower blended borrowing cost. The first arrangement is an inventory financing facility (the &#8220;Inventory Facility&#8221;) pursuant to the Loan and Security Agreement (the &#8220;Inventory Loan Agreement&#8221;) between the Company and Crossroads Financial Group, LLC, a North Carolina limited liability company (the &#8220;IF Lender&#8221;). Borrowings under the Inventory Facility are permitted up to the lower of (i) $3.0 million, which was subsequently increased to $3.5 million as described below, and (ii) a borrowing base determined from time to time based on the value of the Company&#8217;s eligible inventory, valued at 75% of inventory costs or 85% of the inventory net orderly liquidation value, less the availability reserves. On April 20, 2021, the Company and the IF Lender entered into an amendment to the Inventory Loan Agreement to increase the maximum amount that may be available to the Company from $3.0 million to $3.5 million, subject to the borrowing base as set forth in the Inventory Loan Agreement. The outstanding indebtedness under the Inventory Facility accrues at an annual rate equal to the greater of (i) 5.75% and (ii) 4.00% plus the three-month LIBOR rate (0.21% and 0.24% at December 31, 2021 and </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2020, respectively) and is also subject to a service fee of 1% per month. The annualized interest rate at December&#160;31, 2021 and 2020, which includes interest fees, the annual facility fee, bank fees and other miscellaneous lender fees, was 22.4% and 23.6%, respectively. The Inventory Facility&#8217;s interest and service fees combined amount is subject to a minimum monthly fee of $18&#160;thousand. There would be no breakage fee for the Company for the Inventory Facility if the Company were to refinance it with an American Bankers Association (&#8220;ABA&#8221;) equivalent institution. The Inventory Facility is secured by substantially all of the present and future assets of the Company and is also governed by an intercreditor agreement among the Company, the IF Lender and the RF Lender (defined below). The Inventory Facility matures on August 11, 2022, subject to early termination upon 90 days&#8217; notice and otherwise in accordance with the terms of the Inventory Loan Agreement. The term is automatically extended in successive one year increments unless terminated by either party in accordance with the Inventory Loan Agreement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The second arrangement is a receivables financing facility (the &#8220;Receivables Facility&#8221;) pursuant to the Loan and Security Agreement (the &#8220;Receivables Loan Agreement&#8221;) between the Company and Factors Southwest L.L.C. (d/b/a FSW Funding), an Arizona limited liability company (the &#8220;RF Lender&#8221;). Borrowings under the Receivables Facility are permitted up to the lower of (i) $2.5 million or (ii) a borrowing base determined from time to time based on the value of the Company&#8217;s eligible accounts receivable, valued at 90% of the face value of such accounts receivable, less availability reserves, if any. Interest on outstanding indebtedness under the Receivables Facility accrues at an annual rate equal to (i) the highest prime rate announced from time to time by the Wall Street Journal (3.25% at both December 31, 2021 and 2020) plus (ii) 2%. At December&#160;31, 2021 and 2020, the annualized interest rate, which includes interest fees and the annual facility fee, was 8.0% and 7.9%, respectively. The annualized interest rate on the collateral management fee was 5.9% at both December&#160;31, 2021 and 2020. The Receivables Facility is also secured by substantially all of the present and future assets of the Borrower and is also governed by an intercreditor agreement among the Company, the IF Lender and the RF Lender. A $25&#160;thousand, or 1%, facility fee was charged at closing. There would be no breakage fee for the Company for the Receivables Facility if the Company were to refinance it with an ABA equivalent institution. The Receivables Facility matures on August 11, 2022, subject to early termination in accordance with the terms of the Receivables Loan Agreement; provided that the term is automatically extended in successive one year increments unless terminated by either party in accordance with the Receivables Loan Agreement.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Inventory Facility were $1.2 million and $1.3 million at December&#160;31, 2021 and 2020, respectively. Borrowings under the Receivables Facility were $1.0 million at both December&#160;31, 2021 and 2020. Borrowings under the Credit Facilities are recorded in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020 as a current liability under the caption &#8220;Credit line borrowings, net of origination fees.&#8221; Outstanding balances include unamortized net issuance costs totaling $84 thousand and $121 thousand for the Inventory Facility and $24&#160;thousand and $40&#160;thousand for the Receivables Facility as of December&#160;31, 2021 and 2020, respectively.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Facilities replaced the Austin Facility that was entered into on December 11, 2018 and was secured by a lien on our assets. The Austin Facility was a three year, $5.0 million revolving line of credit. The total loan amount available to us under the Austin Facility from time to time was based on the amount of our (i) qualified accounts receivable, which is equal to the lesser of 85% of our net eligible receivables of, or $4.5 million, plus (ii) available inventory, which is the lesser of 20% of the net realizable value of eligible inventory of, or $500&#160;thousand. The Austin Facility charged interest deeming a minimum borrowing requirement of $1.0 million. Interest on advances under the line was due monthly at the &#8220;Prime Rate,&#8221; as published by the Wall Street Journal from time to time, plus a margin of 2%. Overdrafts were subject to a 2% fee. Additionally, an annual facility fee of 1% on the entire $5.0 million amount of the Austin Facility was due at the beginning of each of the three years that the Austin Facility was outstanding and a 0.5% collateral management fee on the average outstanding loan balance was payable monthly. On August 11, 2020, we paid $1.4 million to close the Austin Facility which included a $100&#160;thousand termination fee. Additionally, we wrote off $59&#160;thousand of the remaining related debt acquisition costs. The termination fee and the write-off of debt acquisition costs are reflected as a loss on extinguishment of debt in our Consolidated Statements of Operations for the twelve months ended December&#160;31, 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Streeterville Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;27, 2021, we entered into a note purchase agreement with Streeterville Capital, LLC (&#8220;Streeterville&#8221;) pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $1.7 million (the &#8220;Streeterville Note&#8221;). The Streeterville Note was issued with an original issue discount of $194&#160;thousand and Streeterville paid a purchase price of $1.5 million for the Streeterville Note, after deduction of $15&#160;thousand of Streeterville&#8217;s transaction expenses.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Streeterville Note has a maturity date of April&#160;27, 2023, and accrues interest at 8% per annum, compounded daily, on the outstanding balance. The Company may prepay the amounts outstanding under the Streeterville Note at a premium, which is </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5% during the first three months and 10% thereafter. Prepayments at the reduced rate in the first three months are limited to 50% of the outstanding balance. Beginning on November 1, 2021, Streeterville may require the Company to redeem up to $205&#160;thousand of the Streeterville Note in any calendar month. The Company has the right on three occasions to defer all redemptions that Streeterville could otherwise require the Company to make during any calendar month. Each exercise of this deferral right by the Company will increase the amount outstanding under the Streeterville Note by 1.5%. The Company exercised this right twice during the fourth quarter of 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total liability for the Streeterville Note, net of discount and financing fees, was $1.7 million at December&#160;31, 2021. Unamortized loan discount and debt issuance costs were $43 thousand at December&#160;31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the event our common stock is delisted from Nasdaq, the amount outstanding under the Streeterville Note will automatically increase by 15% as of the date of such delisting.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PPP Loan</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;17, 2020, the Company was granted a loan from KeyBank National Association (&#8220;KeyBank&#8221;) in the amount of approximately $795&#160;thousand, pursuant to the PPP under Division A of the Coronavirus Aid, Relief and Economic Security Act (the &#8220;CARES Act&#8221;), which was enacted on March 27, 2020. The funds were received on April 20, 2020 and accrued interest at a rate of 1% per annum. At December&#160;31, 2020, $529&#160;thousand was classified as short-term debt and $266&#160;thousand was classified as long-term debt on the Company&#8217;s Consolidated Balance Sheet. Under the terms of the PPP, certain amounts of the loan may be forgiven if they are used for qualifying expenses as described in the CARES Act. The entire principal balance and interest were forgiven by the Small Business Administration on February 11, 2021. The $801&#160;thousand forgiveness income was recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Iliad Note</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November&#160;25, 2019, we entered into a note purchase agreement (the &#8220;Iliad Note Purchase Agreement&#8221;) with Iliad Research and Trading, L.P. (&#8220;Iliad&#8221;) pursuant to which the Company sold and issued to Iliad a promissory note in the principal amount of $1.3 million (the &#8220;Iliad Note&#8221;). The Iliad Note was issued with an original issue discount of $142&#160;thousand and Iliad paid a purchase price of $1.1 million for the issuance of the Iliad Note, after deduction of $15&#160;thousand of Iliad transaction expenses.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 1, 2020, we repaid the $30&#160;thousand remaining outstanding balance on the Iliad Note in full prior to its maturity date of November&#160;24, 2021. Remaining debt and original issue discount costs of $117&#160;thousand were written off at that time and are reflected as a loss on extinguishment of debt in our Consolidated Statements of Operations for the year ended December&#160;31, 2020. The Iliad Note accrued interest at 8% per annum, compounded daily, on the outstanding balance.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Iliad Note Purchase Agreement and the Iliad Note, we had, among other things, agreed that, until the Iliad Note was repaid 10% of gross proceeds the Company received from the sale of our common stock or other equity must be paid to Iliad and applied to reduce the outstanding balance of the Iliad Note. In accordance with the terms of the Iliad Note, 10% of the gross proceeds from the January 2020 Equity Offering ($275&#160;thousand) were used to make payments on the Iliad Note, of which $226&#160;thousand went towards the outstanding principal amount.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Convertible Notes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March&#160;29, 2019, we issued $1.7 million aggregate principal amount of subordinated convertible promissory notes (the &#8220;Convertible Notes&#8221;) to certain investors in a private placement exempt from the registration requirements of the Securities Act of 1933, as amended. The Convertible Notes had a maturity date of December 31, 2021 and bore interest at a rate of 5% per annum until June&#160;30, 2019 and at a rate of 10.0% thereafter. Pursuant to their terms, on January&#160;16, 2020, following approval by our stockholders of certain amendments to the Certificate of Incorporation, the principal amount of all of the Convertible Notes, and the accumulated interest thereon ($0.1 million), which totaled $1.8 million, were converted at a conversion price of $0.67 per share into an aggregate of 2,709,018 shares of the Company&#8217;s Series A Convertible Preferred Stock, par value $0.0001 per share (the &#8220;Series A Preferred Stock&#8221;), which is convertible on a one-for-five basis into shares of our common stock. During the year ended December&#160;31, 2020, 111,548 shares of the Series A Preferred Stock were converted into 22,310 shares of common stock. During the year ended December&#160;31, 2021, 1,721,023 shares of Series A Preferred Stock were converted into 344,205 shares of common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March&#160;29, 2019, which authorized 2,000,000 shares of Series A Preferred Stock (the &#8220;Original Series A Certificate of Designation&#8221;). The Original Series A Certificate of Designation was amended on January 15, 2020 following Stockholder </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Approval to increase the number of authorized shares of Series A Preferred to 3,300,000 (the Original Series A Certificate of Designation as so amended, the &#8220;Series A Certificate of Designation&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall be entitled to a number of votes equal to 11.07% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock (a) has a preference upon liquidation equal to $0.67 per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. We also filed a Certificate of Elimination with respect to the authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of preferred stock available for designation as the Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase agreement related to the Convertible Notes contained customary representations and warranties and provided for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844444648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">COMMITMENTS AND CONTINGENCIES<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Purchase Commitments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, we had approximately $1.7 million in outstanding purchase commitments for inventory, of which $1.5 million is expected to ship in the first quarter of 2022, and $0.2 million in the second quarter of 2022 and thereafter.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844268920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text">STOCKHOLDERS&#8217; EQUITY<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 2021 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed the December 2021 Private Placement with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) Pre-Funded Warrants to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. We paid the placement agent commission of $360&#160;thousand plus $42&#160;thousand in expenses in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $97&#160;thousand related to the December 2021 Private Placement. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021. Net proceeds from the December 2021 Private Placement were approximately $4.0 million. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the 85,228 shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic EPS.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of 1,363,641 shares remained outstanding, with a weighted average exercise price of $3.30 per share. None of the December 2021 Warrants were exercised as of December&#160;31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5&#160;million in the aggregate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, we had the following outstanding December 2021 Warrants to purchase shares of common stock:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:40.859%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.759%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:17.759%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.763%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2021</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,278,413</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$3.5200</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 16, 2026</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-Funded Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,228</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$0.0001</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">None</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,363,641</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">June 2021 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2021, we completed a registered direct offering of 990,100 shares of our common stock to certain institutional investors, at a purchase price of $5.05 per share. We paid the placement agent commissions of $400 thousand, plus $51 thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $19 thousand related to the offering. Total offering costs of $470&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $4.5 million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Preferred Stock</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of the Convertible Notes, on January 16, 2020, following approval by our stockholders of certain amendments to the Certificate of Incorporation, the principal amount of all of the Convertible Notes and the accumulated interest thereon at the date of conversion (totaling $1.8 million) were converted at a conversion price of $0.67 per share into an aggregate of 2,709,018 shares of the Company&#8217;s Series A Preferred Stock, which is convertible on a one-for-five basis into shares of our common stock. During the year ended December&#160;31, 2020, 111,548 shares of the Series A Preferred Stock were converted into 22,310 shares of common stock. During the year ended December&#160;31, 2021, 1,721,023 shares of Series A Preferred Stock were converted into 344,205 shares of common stock. The Series A Preferred Stock that was converted in 2021 was held by a Schedule 13D ownership group (under Section 13(d)(3) of the Securities Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder) that includes Fusion Park LLC (&#8220;Fusion Park&#8221;) and 5 Elements Global Fund L.P. (controlled affiliates of James Tu, the Company's former Executive Chairman and Chief Executive Officer and current member of the Board of Directors), as well as Brilliant Start Enterprise Inc. (&#8220;Brilliant Start&#8221;) and Jag International Ltd. (controlled affiliates of Gina Huang, a member of the Company's Board of Directors). Upon conversion of their respective shares of Series A Preferred Stock in 2021, Fusion Park and Brilliant Start received 184,851 and 159,354 shares, respectively, of the Company&#8217;s common stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March&#160;29, 2019, which designated 2,000,000 shares of the Company&#8217;s preferred stock, par value $0.0001 per share, as Series A Preferred Stock (the &#8220;Original Series A Certificate of Designation&#8221;). On January 15, 2020 with prior stockholder approval, the Company amended the Certificate of Incorporation to increase the number of authorized shares of preferred stock to 5,000,000. The Original Series A Certificate of Designation was also amended on January 15, 2020, to increase the number of shares of preferred stock designated as Series A Preferred Stock to 3,300,000 (the Original Series A Certificate of Designation, as so amended, the &#8220;Series A Certificate of Designation&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall entitle its holder to a number of votes equal to 11.07% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Series A Preferred Stock (a) has a preference upon liquidation equal to $0.67 per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. On March 29, 2019, the Company also filed a Certificate of Elimination with respect to its authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of undesignated preferred stock available for designation as Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase agreement related to the Convertible Notes contained customary representations and warranties and provided for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">1-for-5 Reverse Stock Split</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 11, 2020, in accordance with previous stockholder approval, our Board of Directors effected a 1-for-5 reverse stock split of the Company&#8217;s common stock, par value $0.0001 per share. The reverse stock split became effective at the Effective Time upon the filing of the Certificate of Amendment to the Certificate of Incorporation with the Delaware Secretary of State. At the Effective Time, every five shares of common stock issued and outstanding automatically combined into one validly issued, fully paid and non-assessable share of common stock. No fractional shares were issued as a result of the reverse stock split. The fractional shares were settled in cash in an amount not material to the Company. The $0.0001 par value per share of </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">common stock and other terms of the common stock were not affected by the reverse stock split. The number of authorized shares of common stock under the Certificate of Incorporation remained unchanged at 50,000,000 shares.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Proportional adjustments were made to the conversion and exercise prices of our outstanding warrants and stock options, and to the number of shares issued and issuable under our stock incentive plans in connection with the reverse stock split. The financial statements for the twelve months ended December&#160;31, 2020 have been retroactively adjusted to reflect the reverse stock split. Preferred shares outstanding were not affected by the reverse stock split and, as such, those shares have not been adjusted.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The reverse stock split was effected solely to increase the per share trading price of the common stock to satisfy the $1.00 minimum bid price requirement pursuant to Nasdaq Listing Rule 5550(a)(2) for continued listing on Nasdaq. The common stock began trading on Nasdaq on a split-adjusted basis at the opening of trading on June 12, 2020.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">January 2020 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share (the, &#8220;Investor Warrants&#8221;) in a concurrent private placement for a purchase price of $0.625 per warrant. We paid the placement agent commissions of $193&#160;thousand plus $50&#160;thousand in expenses in connection with the registered direct offering and the concurrent private placement and we also paid legal, accounting and other fees of $231&#160;thousand related to the offering. Total offering costs of $510&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020. In addition, we issued warrants to the placement agent to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share (together with the Investor Warrants, the &#8220;January 2020 Warrants&#8221;). Net proceeds to us from the sale of common stock and January 2020 Warrants were approximately $2.3 million. In accordance with the terms of the Iliad Note, 10% of the gross proceeds from the January 2020 Equity Offering ($275&#160;thousand) were used to make payments on the Iliad Note, of which $226&#160;thousand went towards the outstanding principal amount and the balance to interest.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">January 2020 Warrants issued to purchase an aggregate of 229,414 shares remain outstanding at December&#160;31, 2021, with a weighted average exercise price of $3.67 per share. During the twelve months ended December&#160;31, 2021, 237,892 January 2020 Warrants issued were exercised resulting in total proceeds of $801 thousand. The exercise of the remaining January 2020 Warrants outstanding could provide us with cash proceeds of up to $841 thousand in the aggregate. At December&#160;31, 2020, January 2020 Warrants issued to purchase an aggregate of 467,306 shares remained outstanding, with a weighted average exercise price of $3.51 per share. During the twelve months ended December&#160;31, 2020, 269,240 January 2020 Warrants issued were exercised, resulting in total proceeds of $918 thousand.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021 and 2020, we had the following outstanding January 2020 Warrants to purchase shares of common stock:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:32.379%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.443%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.736%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2021</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Investor Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187,734</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">425,626</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$3.3700</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Placement Agent Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,680</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,680</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$4.9940</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">229,414</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">467,306</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Warrant Classification</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We account for common stock warrants as either liabilities or equity instruments depending on the specific terms of the warrant agreement. Common stock warrants that could require cash settlement are accounted for as liabilities and are revalued at fair value at each balance sheet date subsequent to the initial issuance. Changes in the fair market value of the warrant are reflected in the consolidated statement of operations as income (expense) based upon the change in fair value of warrants. Common stock warrants without cash settlement provisions are accounted for as equity and re-measurement at each balance sheet date is not required.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The January 2020 Warrants we issued in the January 2020 Equity Offering contained a provision for net cash settlement in the event that there is a fundamental transaction involving the Company (e.g., merger, sale of substantially all assets, tender offer, or share exchange). Due to this provision, the January 2020 Warrants were initially classified as liabilities, as opposed to equity, and were recorded at their fair values at each balance sheet date with fair value adjustments recognized as a component of earnings. During December 2020, the warrant holders agreed to a modification of the terms of their January 2020 Warrants which removed the potential cash settlement option upon the occurrence of a fundamental transaction. As such, during the fourth quarter of 2020, the warrant liability was fair-valued through the modification date and then was reclassified into equity and the January 2020 Warrants are no longer subject to re-measurement at each balance sheet date.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 18, 2020, our Board of Directors approved the Energy Focus, Inc. 2020 Stock Incentive Plan (the &#8220;2020 Plan&#8221;). The 2020 Plan was approved by the stockholders at our annual meeting on September 17, 2020, after which no further awards could be issued under the Energy Focus, Inc. 2014 Stock Incentive Plan (the &#8220;2014 Plan&#8221;). The 2020 Plan initially allows for awards up to 350,000 shares of common stock and expires on September 17, 2030. At December&#160;31, 2021, 208,256 shares remain available to grant under the 2020 Plan.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 6, 2014, our Board of Directors approved the 2014 Plan. The 2014 Plan was approved by the stockholders at our annual meeting on July 15, 2014, after which no further awards could be issued under the Energy Focus, Inc. 2008 Incentive Stock Plan (the &#8220;2008 Plan&#8221;). The 2014 Plan initially allowed for awards up to 120,000 shares of common stock and expires on July 15, 2024. On July 22, 2015, the stockholders approved an amendment to the 2014 Plan to increase the shares available for issuance under the 2014 Plan by an additional 120,000 shares. On June 21, 2017, the stockholders approved an amendment to the 2014 Plan to increase the shares available for issuance under the 2014 Plan by an additional 260,000. No awards may be granted under this plan.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have one other historical equity-based compensation plan under which options are currently outstanding; however, no new awards may be granted under this plan. Generally, stock options are granted at fair market value and expire ten years from the grant date. Employee grants generally vest in <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTY4_e102dd0f-9627-4c4e-9b7d-2411cb446505">three</span> or four years, while grants to non-employee directors generally vest in one year. The specific terms of each grant are determined by our Board of Directors. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is attributable to stock options and restricted stock unit awards. For all stock-based awards, we recognize compensation expense using a straight-line amortization method.</span></div><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">406&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">429&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021 and 2020, we had unearned stock compensation expense of $0.3 million and $0.2 million, respectively. These costs will be charged to expense and amortized on a straight-line basis in subsequent periods. The remaining weighted average period over which the unearned compensation is expected to be amortized was approximately 2.7 years as of December&#160;31, 2021 and 3.1 years as of December 31, 2020.&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock options</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of each stock option is estimated on the date of grant using the Black-Scholes option pricing model. Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further comparatively detailed as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of options issued</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.92&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.06&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercise price</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.07&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected life of option (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.1</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We utilize the simplified method as provided by ASC 718-10 to calculate the expected stock option life. Under ASC 718-10, the expected stock option life is based on the midpoint between the vesting date and the end of the contractual term of the stock option award. The use of this simplified method in place of using the actual historical exercise data is allowed when a stock option award meets all of the following criteria: the exercise price of the stock option equals the stock price on the date of grant; the exercisability of the stock option is only conditional upon completing the service requirement through the vesting date; employees who terminate their service prior to the vesting date forfeit their stock options; employees who terminate their service after vesting are granted a limited time period to exercise their stock options; and the stock options are nontransferable and non-hedgeable. We believe that our stock option awards meet all of these criteria. The estimated expected life of the option is calculated based on contractual life of the option, the vesting life of the option, and historical exercise patterns of vested options. The risk-free interest rate is based on U.S. treasury zero-coupon yield curve on the grant date for a maturity similar to the expected life of the option. The volatility estimates are calculated using historical volatility of our stock price calculated over a period of time representative of the expected life of the option. We have not paid dividends in the past, and do not expect to pay dividends over the corresponding expected term as of the grant date.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Options outstanding under all plans at December&#160;31, 2021 have a contractual life of ten years, and vesting periods between <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDc1_49d4c02d-9dbd-42f5-ad55-56f087c1ed05">one</span> and four years. A summary of option activity under all plans was as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:61.509%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.228%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.230%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of<br/>Options</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise Price<br/>Per Share</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2019</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155,031&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.23&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,350&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.68&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,774)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.56&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,157)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.11&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2020</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">221,450&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.45&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,240&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.07&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36,706)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.35&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,650)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49.18&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,225)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.96&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267,109&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.46&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and expected to vest at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231,462&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.41&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,121&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.28&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The &#8220;Expected to Vest&#8221; options are the unvested options that remain after applying the pre-vesting forfeiture rate assumption to total unvested options. 4,225 options were exercised during 2021 and 12,157 options were exercised during 2020. The total intrinsic value of options outstanding and options exercisable at December&#160;31, 2021 was $426 thousand and $191 thousand, respectively, which was calculated using the closing stock price at the end of the year of $4.27 per share less the option price of the in-the-money grants.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The options outstanding at December&#160;31, 2021 have been segregated into ranges for additional disclosure as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:6.095%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.424%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.801%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.234%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.262%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.262%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.381%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.262%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.975%"/><td style="width:0.1%"/></tr><tr><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">OPTIONS OUTSTANDING</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">OPTIONS EXERCISABLE</span></td></tr><tr><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Range of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exercise Prices</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares Outstanding</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual Life (in years)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares Exercisable</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual Life (in years)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1.45</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1.68</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,377&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.49&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.49&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1.69</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$2.20</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,975&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.5</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.5</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$2.21</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$5.42</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,406&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,046&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.46&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$5.43</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$5.81</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,474&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.55&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">319&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.4</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.52&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$5.82</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$29.75</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,877&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.69&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,778&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267,109&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.46&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,121&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.6</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.28&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2015, we began issuing restricted stock units to certain employees and non-employee Directors under the 2014 Plan with vesting periods ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM1Mzc_8eee0c28-5471-4cde-b3a5-86abeeb1b29b">one</span> to four years from the grant date. In 2020, we began issuing restricted stock units to certain employees and non-employee Directors under the 2020 Plan with vesting periods ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTQzMjU_2fa0f6e2-9267-4bc0-b4a7-1cbd6cb9c397">one</span> to four years.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows a summary of restricted stock unit activity:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restricted Stock Units Outstanding</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2019</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,603&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,068)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.96&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,255)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.40&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,480&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.64&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(52,080)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.46&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2021</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,400&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.14&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Employee</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">stock</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">purchase</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">plans</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In September 2013, our stockholders approved the 2013 Employee Stock Purchase Plan (the &#8220;2013 Plan&#8221;) to replace the 1994 prior purchase plan. A total of 100,000 shares of common stock were provided for issuance under the 2013 Plan. The 2013 Plan permits eligible employees to purchase common stock through payroll deductions at a price equal to the lower of 85 percent of the fair market value of our common stock at the beginning or end of the offering period. Employees may end their participation at any time during the offering period, and participation ends automatically upon termination of employment with us. During 2021 and 2020, employees purchased 22,000 and 26,632 shares, respectively. At December&#160;31, 2021, 28,523 shares remained available for purchase under the 2013 Plan.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496180-112644<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844760600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text">INCOME TAXESWe file income tax returns in the U.S. federal jurisdiction, as well as in various state and local jurisdictions. With few exceptions, we are no longer subject to U.S. federal, state, and local, or non-U.S. income tax examinations by tax authorities for years before 2018. Our practice is to recognize interest and penalties related to income tax matters in income tax expense when and if they become applicable. At December&#160;31, 2021 and 2020, respectively, there were no accrued interest and penalties related to uncertain tax positions.&#160;<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of the provision for income taxes (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Deferred:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(Benefit from) provision for income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The principal items accounting for the difference between income taxes computed at the U.S. statutory rate and the (benefit from) provision for income taxes reflected in our Consolidated Statements of Operations are as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. statutory rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes (net of federal tax benefit)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32.7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The tax effects of temporary differences that give rise to significant portions of the deferred tax assets are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses and other reserves</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,550&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,787&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use-asset</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(73)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(225)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">271&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax credits, deferred R&amp;D, and other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,318&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,510&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,932)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,363)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net deferred tax assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2021, our effective tax rate was lower than the statutory rate due to an increase in the valuation allowance as a result of the $9.6 million additional federal net operating loss we recognized for the year. In 2020, our effective tax rate was lower than the statutory rate due to an increase in the valuation allowance of the $7.1 million additional federal net operating loss we recognized for the year.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, we had net operating loss carry-forwards (&#8220;NOLs&#8221;) of approximately $125.4 million for federal income tax purposes ($77.2 million for state and local income tax purposes). However, due to changes in our capital structure, approximately $71.0 million of the $125.4 million is available to offset future taxable income after the application of the limitations found under Section 382 of the Internal Revenue Code of 1986, as amended. As a result of the Tax Cuts and Job Act of 2017 (the &#8220;Tax Act&#8221;), NOLs generated in tax years beginning after December 31, 2017 can only offset 80% of taxable income. These NOLs can no longer be carried back, but they can be carried forward indefinitely. The $9.6 million and $7.1 million in federal net operating losses generated in 2021 and 2020 will be subject to the new limitations under the Tax Act. If not utilized, the NOLs generated prior to December 31, 2017 of $37.5 million will begin to expire in 2023 for federal purposes and have begun to expire for state and local purposes.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Since we believe it is more likely than not that the benefit from NOLs will not be realized, we have provided a full valuation allowance against our deferred tax assets at December 31, 2021 and 2020, respectively. We had no net deferred tax liabilities at December 31, 2021 or 2020, respectively. In 2020, we recognized various states tax benefits as a result of the adjustment from </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the 2019 provision to the actual tax on the 2019 returns that were filed in 2019. In 2019, we recognized various states tax expense as a result of the adjustment from the 2018 provision to the actual tax on the 2018 returns that were filed in 2019.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The CARES Act was enacted on March 27, 2020 and the Consolidated Appropriations Act (the &#8220;Relief Act&#8221;) was enacted on December 27, 2020 in the United States. The key provisions of the CARES Act and the Relief Act, as applicable to the Company, include the following:</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ability to use NOLs to offset income without the 80% taxable income limitation enacted as part of the Tax Cuts and Jobs Act (&#8220;TCJA&#8221;) of 2017, and to carry back NOLs to offset prior year income for five years. These are temporary provisions that apply to NOLs incurred in 2018, 2019 or 2020 tax years. We did not recognize any tax benefit for the year ended December 31, 2021 related to our ability to carry back prior year losses, as well as projected current year losses, under the CARES Act to years with the previous 35% tax rate. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ability to claim a current deduction for interest expense up to 50% of Adjusted Taxable Income (&#8220;ATI&#8221;) for tax years 2019 and 2020. This limitation was previously 30% of ATI pursuant to the Tax Act, and will revert to 30% after 2020. The Company has no current interest expense limitation. </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition to the aforementioned provisions, the CARES Act also provided the following non-income tax provisions as applicable to the Company: </span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The ability to defer the payment of the employer portion of social security taxes incurred between March 27, 2020 and December 31, 2020, with 50% of the deferred amount to be paid by December 31, 2021 and the remaining 50% to be paid by December 31, 2022. For the year ended December 31, 2021, the Company has deferred $77&#160;thousand of payroll taxes.</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The ability to claim an ERTC, which is a refundable payroll tax credit, subject to certain limitations. Refer to Note 13, &#8220;Other Income&#8221; for details.</span></div>&#8226;The Company received approximately $795&#160;thousand in PPP loans, which were forgiven in 2021. The CARES Act provides that the loan forgiveness is tax-exempt for federal purposes. Refer to Note 8, &#8220;Debt&#8221; for details.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844444648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Product and Geographic Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Product and Geographic Information</a></td>
<td class="text">PRODUCT AND GEOGRAPHIC INFORMATION<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">We focus our efforts on the sale of LED lighting and controls products and UVCD products in the commercial market and MMM, and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our products are sold primarily in the United States through a combination of direct sales employees, lighting agents, independent sales representatives and distributors, and via e-commerce with digital marketing strategies that profile our UVCD technologies. We currently operate in a single industry segment, developing and selling our LED lighting products and controls as well as UVCD products into the MMM and commercial markets.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a breakdown of product net sales for the years indicated (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial products</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,682&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,404&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MMM products</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,183&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,424&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,865&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,828&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A geographic summary of net sales is as follows (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,712&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,685&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">International</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,865&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,828&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021 and 2020, approximately 100% of our long-lived assets, which consist of property and equipment, were located in the United States.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8981-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8721-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8657-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844724040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Income<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other Income and Expenses [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock', window );">Other Income</a></td>
<td class="text">OTHER INCOME<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Employee Retention Tax Credit</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The CARES Act, which was enacted on March 27, 2020, provides an ERTC that is a refundable tax credit against certain employer taxes. The ERTC was subsequently amended by the Taxpayer Certainty and Disaster Tax Relief Act of 2020, the Consolidated Appropriation Act of 2021, and the American Rescue Plan Act of 2021, all of which amended and extended the ERTC availability and guidelines under the CARES Act. Following these amendments, we and other businesses became retroactively eligible for the ERTC, and as a result of the foregoing legislation, are eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to 70% of the qualified wages paid to employees between January 1, 2021 and September 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum allowable ERTC per employee of $7,000 per calendar quarter in 2021. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For purposes of the amended ERTC, an eligible employer is defined as having experienced a significant (20% or more) decline in gross receipts during each of the first three 2021 calendar quarters when compared with the same quarter in 2019 or the immediately preceding quarter to the corresponding calendar quarter in 2019. The credit is taken against the Company&#8217;s share of Social Security Tax when the Company&#8217;s payroll provider files, or subsequently amends the applicable quarterly employer tax filings.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the amended guidelines, we are eligible to receive the ERTC for the second and third quarters of 2021. As part of the filing of our employer tax filings for the third quarter of 2021, we applied for and received a refund of $431&#160;thousand, and we amended our filing for the second quarter of 2021, for which we expect to receive an additional refund of approximately $445&#160;thousand. These amounts are recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021, and the $445&#160;thousand expected receivable is included in prepaid and other current assets in the Consolidated Balance Sheet as of December 31, 2021. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">PPP Loan</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On April&#160;17, 2020, the Company was granted a loan from KeyBank in the amount of approximately $795&#160;thousand, pursuant to the PPP under the CARES Act, which was enacted on March 27, 2020. The funds were received on April 20, 2020, and accrued interest at a rate of 1% per annum. At December 31, 2020, $529&#160;thousand was classified as short-term debt and $266&#160;thousand was classified as long-term debt on the Company&#8217;s Consolidated Balance Sheet. Under the terms of the PPP, certain amounts of the loan may be forgiven if they are used for qualifying expenses as described in the CARES Act. The entire principal balance and interest were forgiven by the Small Business Administration on February 11, 2021. The $801&#160;thousand forgiveness income was recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -URI http://asc.fasb.org/topic&amp;trid=2122503<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 610<br> -URI http://asc.fasb.org/topic&amp;trid=49130413<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844273256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text">RELATED PARTY TRANSACTIONS<div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 12, 2012, our Board of Directors appointed James Tu to serve as our non-executive Chairman. On April 30, 2013, Mr. Tu became the Executive Chairman assuming the duties of the Principal Executive Officer. On October 30, 2013 Mr. Tu was appointed Executive Chairman and Chief Executive Officer by our Board of Directors. On May 9, 2016, Mr. Tu also assumed the role of President. On August 11, 2016, our Board of Directors appointed a separate Executive Chairman of the Board, and Mr. Tu continued to serve in the role of Chief Executive Officer and President, until February 19, 2017.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 30, 2018, each of Gina Huang, Brilliant Start Enterprise, Inc. (&#8220;Brilliant Start&#8221;), Jag International Ltd., Jiangang Quo, Cleantech Global Ltd., James Tu, 5 Elements Global Fund L.P., Schema Hui Cheng, Communal International, Ltd., and 5 Elements Energy Efficiency Limited (the &#8220;Former Schedule 13D Parties&#8221;) filed a Schedule 13D with the SEC, indicating that they may have been deemed to be a &#8220;group&#8221; under Section 13(d)(3) of the Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder, and that such group beneficially owned 17.6% of our common stock. The Schedule 13D was amended on February 26, 2019 and April 3, 2019.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 21, 2019, the Former Schedule 13D Parties entered into a settlement with the Company providing for the appointment of two directors (Geraldine McManus and Jennifer Cheng) and the nomination of those two directors for election at the Company&#8217;s 2019 annual meeting of stockholders.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 29, 2019, the Company entered into a note purchase agreement (the &#8220;Note Purchase Agreement&#8221;) with certain investors, including Fusion Park LLC (of which James Tu is the sole member) (&#8220;Fusion Park&#8221;) and Brilliant Start (which is controlled by Gina Huang, a current member of our Board of Directors), for the purchase of an aggregate of $1.7 million of Convertible Notes. Pursuant to the Note Purchase Agreement, Fusion Park and Brilliant Start purchased $580 thousand and </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$500 thousand, respectively, in principal amount of Convertible Notes. In connection with the sale of Convertible Notes, Mr. Tu was appointed as a member of our Board of Directors on April 1, 2019 and Chief Executive Officer, President and interim Chief Financial Officer on April 2, 2019. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Mr. Tu is also the Founder, Chief Executive Officer and Chief Investment Officer of 5 Elements Global Advisors, an investment advisory and management company managing the holdings of 5 Elements Global Fund LP, which was a beneficial owner of more than 5.0% of our common stock prior to the August 2014 registered offering. As of December&#160;31, 2021, 5 Elements Global Fund LP beneficially owns approximately 0.9% of our common stock. 5 Elements Global Advisors focuses on investing in clean energy companies with breakthrough, commercialized technologies, and near-term profitability potential. Mr. Tu is also Co-Founder of Communal International Ltd. (&#8220;Communal&#8221;), a British Virgin Islands company dedicated to assisting clean energy, solutions-based companies, maximizing technology and product potential and gaining them access to global marketing, distribution licensing, manufacturing and financing resources. Communal has a 50.0% ownership interest in 5 Elements Energy Efficiencies (BVI) Ltd., a beneficial owner of approximately 0.9% of our common stock. Schema Cheng controls 5 Elements Energy Efficiencies (BVI) Ltd. and owns the other 50.0%. She is Co-Founder of Communal International Ltd. with Mr. Tu and the mother of Simon Cheng. Mr. Cheng was a member of our Board of Directors through February 19, 2017 and an employee of the Company through June 30, 2018 and rejoined the Company on August 5, 2019. Schema Cheng is also the mother of Jennifer Cheng, a current member of our Board of Directors.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On January 11, 2022, our Board of Directors appointed Stephen Socolof, our Lead Independent Director, as Interim Chief Executive Officer to replace Mr. Tu. On February 11, 2022, Mr. Tu and the Company entered into a Separation and Release Agreement and Mr. Tu resigned from the Board of Directors.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI http://asc.fasb.org/topic&amp;trid=2122745<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39691-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844253240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Legal Matters<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LegalMattersAndContingenciesTextBlock', window );">Legal Matters</a></td>
<td class="text"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">LEGAL</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">MATTERS</span>We may be the subject of threatened or pending legal actions and contingencies in the normal course of conducting our business. We provide for costs related to these matters when a loss is probable and the amount can be reasonably estimated. The effect of the outcome of these matters on our future results of operations and liquidity cannot be predicted because any such effect depends on future results of operations and the amount or timing of the resolution of such matters. While it is not possible to predict the future outcome of such matters, we believe that the ultimate resolution of such individual or aggregated matters will not have a material adverse effect on our consolidated financial position, results of operations, or cash flows. For certain types of claims, we maintain insurance coverage for personal injury and property damage, product liability and other liability coverages in amounts and with deductibles that we believe are prudent, but there can be no assurance that these coverages will be applicable or adequate to cover adverse outcomes of claims or legal proceedings against us.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LegalMattersAndContingenciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LegalMattersAndContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844313960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Supplementary Financial Information to Item 8.<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Financial Information Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Supplementary Financial Information to Item 8.</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SUPPLEMENTARY FINANCIAL INFORMATION TO ITEM 8.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth our selected unaudited financial information for the four quarters in the years ended December&#160;31, 2021 and 2020, respectively. This information has been prepared on the same basis as the audited financial statements and, in the opinion of management, contains all adjustments necessary for a fair presentation thereof.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">QUARTERLY FINANCIAL DATA (UNAUDITED)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">amounts in thousands, except per share amounts</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">)</span></div><div style="margin-bottom:15pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:48.973%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.650%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fourth<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Third<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Second<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">First<br/>Quarter</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,405&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,749&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,074&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,637&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">189&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">563&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">393&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">553&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,631)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,140)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,473)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,642)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss per common share attributable to common stockholders (basic and diluted):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.50)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.59)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.45)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares used in computing net loss per common share (basic and diluted)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,312&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,086&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,211&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,612&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:48.973%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.650%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fourth<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Third<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Second<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">First<br/>Quarter</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,746&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,964&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,335&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,783&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,434&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,376&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,343&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,032&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,165)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,340)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(541)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per common share attributable to common stockholders - basic</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.01&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.18)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per common share attributable to common stockholders - diluted</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.01&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.18)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares used in computing net income (loss) per common share</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">2</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,491&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,308&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,192&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,086&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,307&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,308&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,192&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,086&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with Topic 260 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">"Earnings Per Share"</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, net income has been allocated to holders of common shares and participating securities including preferred shares and warrants, accordingly. Earnings per share disclosed above utilizes income attributable to common shareholders after this required allocation.</span></div><div style="margin-bottom:10pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">2</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -URI http://asc.fasb.org/topic&amp;trid=2126967<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=124502072&amp;loc=SL124452896-108306<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844461944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Schedule of Valuation and Qualifying Accounts<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ValuationAndQualifyingAccountsAbstract', window );"><strong>SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">Schedule II - Schedule of Valuation and Qualifying Accounts</a></td>
<td class="text"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SCHEDULE II</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">ENERGY FOCUS, INC.</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SCHEDULE OF VALUATION AND QUALIFYING ACCOUNTS</span></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(amounts in thousands)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">&#160;</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:48.311%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.811%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.811%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.811%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.816%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Beginning<br/>Balance</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Charges to<br/>Revenue/<br/>Expense</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Deductions</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Ending<br/>Balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowance for doubtful accounts and returns</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventory reserves</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,894&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,050&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance for deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,363&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,568&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,931&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December 31, 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowance for doubtful accounts and returns</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventory reserves</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,518&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">624&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,894&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance for deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,390&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,973&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,363&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher SEC<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 09<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ValuationAndQualifyingAccountsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ValuationAndQualifyingAccountsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836554648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods presented. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory excess and obsolescence reserve and warranty claims, the useful lives for property and equipment and stock-based compensation. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of presentation</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Consolidated Financial Statements include the accounts of the Company. All significant inter-company balances and transactions have been eliminated. Unless indicated otherwise, the information in the Notes to Consolidated Financial Statements relates to our operations.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#8217; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities and collected by us are accounted for on a net basis and are excluded from net sales.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A disaggregation of product net sales is presented in Note 12, &#8220;Product and Geographic Information.&#8221;</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and restricted cash</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Cash and restricted cash</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2021, we had cash of $2.7 million and at December&#160;31, 2020, we had cash and restricted cash of $2.2 million on deposit with financial institutions located in the United States. The December&#160;31, 2020 cash balance of $2.2 million of cash includes restricted cash of $0.3 million which is presented within prepaid and other current assets and other assets in the accompanying Consolidated Balance Sheets. Please refer to Note 4, &#8220;Leases,&#8221; for additional information.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We state inventories at the lower of standard cost (which approximates actual cost determined using the first-in-first-out method) or net realizable value. We establish provisions for excess and obsolete inventories after evaluation of historical sales, current economic trends, forecasted sales, product lifecycles, and current inventory levels. The assessment is both quantitative and qualitative. During 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components. This resulted in a net increase of our gross inventory levels of $2.4&#160;million. We had an increase of excess inventory reserves of $0.2&#160;million as compared to 2020. </span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The assessment for excess and obsolete inventories for 2020 not only included both quantitative and qualitative components, but a COVID-19 pandemic impact analysis as well. Throughout 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand which resulted in a net reduction of our gross inventory levels of $1.2&#160;million and excess inventory reserves of $0.6&#160;million compared to 2019. Adjustments to our estimates, such as forecasted sales and expected product lifecycles, could harm our operating results and financial position. Please refer to Note 5, &#8220;Inventories,&#8221; for additional information.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts receivables</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Accounts receivable</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#8217;s financial condition and the amounts due are stated at their estimated net realizable value. We utilize a third-party account receivables insurance program with a very high credit worthy insurance company where we have the large majority of the accounts receivable insured with a portion of self-retention. This third party also provides credit-worthiness ratings and metrics that significantly assist us in evaluating the credit worthiness of both existing and new customers. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated amount of account receivables that will not be collected. The allowance is based on an assessment of customer creditworthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases to major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Income taxes</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the process of preparing the Consolidated Financial Statements, we are required to estimate our income tax liability in each of the jurisdictions in which we do business. This process involves estimating our actual current tax expense together with assessing temporary differences resulting from differing treatment of items, such as deferred revenues, for tax and accounting purposes. These differences result in deferred tax assets and liabilities, which are included in our Consolidated Balance Sheets. We then assess the likelihood of the deferred tax assets being recovered from future taxable income and, to the extent we believe it is more likely than not that the deferred tax assets will not be recovered, or is unknown, we establish a valuation allowance. Significant management judgment is required in determining our provision for income taxes, deferred tax assets and liabilities, and any valuation allowance recorded against our deferred tax assets. At December&#160;31, 2021 and 2020, we have recorded a full valuation allowance against our net deferred tax assets due to uncertainties related to our ability to utilize our deferred tax assets, primarily consisting of certain net operating losses carried forward. The valuation allowance is based upon our estimates of taxable income by jurisdiction and the period over which our deferred tax assets will be recoverable. In considering the need for a valuation allowance, we assess all evidence, both positive and negative, available to determine whether all or some portion of the deferred tax assets will not be realized.&#160;Such evidence includes, but is not limited to, recent earnings history, projections of future income or loss, reversal patterns of existing taxable and deductible temporary differences, and tax planning strategies.&#160;We continue to evaluate the need for a valuation allowance on a quarterly basis.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock', window );">Financial Instruments</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Instruments</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">December 2021 Private Placement</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2021, we completed a private placement (the &#8220;December 2021 Private Placement&#8221;) with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) pre-funded warrants (&#8220;Pre-Funded Warrants&#8221;) to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#8220;December 2021 Warrants&#8221;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. We paid the placement agent commissions of $360&#160;thousand, plus $42&#160;thousand in expenses, in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $97&#160;thousand related to the December 2021 Private Placement. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021. Net proceeds to us from the December 2021 Private Placement were approximately $4.0 million. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the 85,228 shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic earnings per share (&#8220;EPS&#8221;).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of 1,363,641 shares remained outstanding, with a weighted average exercise price of $3.30 per share. None of the December 2021 Warrants were exercised as of December&#160;31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5&#160;million in the aggregate.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">June 2021 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2021, we completed a registered direct offering of 990,100 shares of our common stock to certain institutional investors, at a purchase price of $5.05 per share (the &#8220;June 2021 Equity Offering&#8221;). We paid the placement agent commissions of $400 thousand, plus $51 thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $19 thousand related to the June 2021 Equity Offering. Total offering costs of $470 thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $4.5 million.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">January 2020 Equity Offering</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share (the, &#8220;Investor Warrants&#8221;) in a concurrent private placement (together with the concurrent registered direct offering, the &#8220;January 2020 Equity Offering&#8221;) for a purchase price of $0.625 per warrant. We paid the placement agent commissions of $193&#160;thousand plus $50&#160;thousand in expenses in connection with the January 2020 Equity Offering and we also paid legal, accounting and other fees of $231&#160;thousand related to the January 2020 Equity Offering. Total offering costs of $510&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020. In addition, we issued warrants to the placement agent to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share (together with the Investor Warrants, the &#8220;January 2020 Warrants&#8221;). Net proceeds to us from the January 2020 Equity Offering were approximately $2.3 million. In accordance with the terms of the Iliad Note (as defined below in Note 8, &#8220;Debt&#8221;), 10% of the gross proceeds from the January 2020 Equity Offering ($275 thousand) were used to make payments on the Iliad Note, of which $226 thousand went towards the outstanding principal amount and the balance to interest.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, January 2020 Warrants issued to purchase an aggregate of 229,414 shares remain outstanding with a weighted average exercise price of $3.67 per share. During the twelve months ended December&#160;31, 2021, 237,892 January 2020 Warrants were exercised resulting in total proceeds of $801 thousand. The exercise of the remaining January 2020 Warrants outstanding could provide us with cash proceeds of up to $841 thousand in the aggregate. At December&#160;31, 2020, January 2020 Warrants issued to purchase an aggregate of 467,306 shares remained outstanding with a weighted average exercise price of $3.51 per share. During the twelve months ended December&#160;31, 2020, 269,240 January 2020 Warrants were exercised resulting in total proceeds of $918 thousand.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Due to a potential cash settlement upon occurrence of a fundamental transaction within the January 2020 Equity Offering warrant agreement, the January 2020 Warrants were initially classified as liabilities, as opposed to equity, and were recorded at their fair values at each balance sheet date for the first three quarters of 2020. During December 2020, the warrant holders agreed to a modification of the terms of their January 2020 Warrants which removed the potential cash settlement option upon the occurrence of a fundamental transaction. As such, during the fourth quarter of 2020, the warrant liability was fair-valued through the modification date and then was reclassified into equity and the January 2020 Warrants are no longer subject to re-measurement at each balance sheet date. Please also refer to Note 10, &#8220;Stockholders&#8217; Equity&#8221;.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair value measurements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or would be paid to transfer a liability in an orderly transaction between market participants on the measurement date. The fair value of financial assets and liabilities are measured on a recurring or non-recurring basis. Financial assets and liabilities measured on a recurring basis are those that are adjusted to fair value each time a financial statement is prepared. Financial assets and liabilities measured on a non-recurring basis are those that are adjusted to fair value when a significant event occurs.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We utilize valuation techniques that maximize the use of available market information and generally accepted valuation methodologies. We assess the inputs used to measure fair value using a three-tier hierarchy. The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements).</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"/><td style="width:8.509%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:89.291%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for identical assets or liabilities.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Level 3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Unobservable inputs for the asset or liability.</span></td></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A financial instrument&#8217;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LongLivedAssetsPolicyPolicyTextBlock', window );">Long-lived assets</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Long-lived assets&#160;</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and include expenditures for additions and major improvements. Expenditures for repairs and maintenance are charged to operations as incurred. We use the straight-line method of depreciation over the estimated useful lives of the related assets (generally <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDA5_a382e080-4adf-47d2-b9ae-c9ef896c4927">two</span> to 15 years) for financial reporting purposes. Accelerated methods of depreciation are used for federal income tax purposes. When assets are sold or otherwise disposed of, the cost and accumulated depreciation are removed from the accounts and any gain or loss is reflected in the Consolidated Statements of Operations. Refer to Note 6, &#8220;Property and Equipment,&#8221; for additional information.</span></div>Long-lived assets are reviewed for impairment whenever events or circumstances indicate the carrying amount may not be recoverable. Events or circumstances that would result in an impairment review primarily include operations reporting losses, a significant change in the use of an asset, or the planned disposal or sale of the asset. The asset would be considered impaired when the future net undiscounted cash flows generated by the asset are less than its carrying value. An impairment loss would be recognized based on the amount by which the carrying value of the asset exceeds its fair value, as determined by quoted market prices (if available) or the present value of expected future cash flows.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Certain risks and concentrations</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Certain risks and concentrations</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically our products were sold through a direct sales model, which included a combination of direct sales employees, electrical and lighting contractors, and distributors. We utilize a third-party accounts receivable insurance and credit assessment company. Although we maintain allowances for potential credit losses that we believe to be adequate, a payment default on a significant sale could materially and adversely affect our operating results and financial condition, although we have mitigated this risk somewhat through the accounts receivable insurance program.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable, as follows:</span></div><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">In 2021, two customers accounted for 43% of net sales, with sales to our primary distributor for the U.S. Navy accounting for approximately 30% and sales to a regional commercial lighting retrofit company accounting for approximately 13% of net sales. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 38% of net sales for the same period. In 2020, two customers accounted for 62% of net sales and total net sales of products to the U.S. Navy represented 53% of net sales.</span></div><div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">At December&#160;31, 2021, a distributor to the U.S. Department of Defense accounted for 20% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 36% of our net trade accounts receivable. At December&#160;31, 2020, a distributor to the U.S. Navy accounted for 28% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 21% of our net trade accounts receivable.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We require substantial amounts of purchased materials from selected vendors. With specific materials, all of our purchases are from a single vendor. The availability and costs of materials may be subject to change due to, among other things, new laws or regulations, suppliers&#8217; allocation to other purchasers, interruptions in production by suppliers, global health issues such as the COVID-19 pandemic, and changes in exchange rates and worldwide price and demand levels. Our inability to obtain adequate supplies of materials for our products at favorable prices could have a material adverse effect on our business, financial position, or results of operations by decreasing our profit margins and by hindering our ability to deliver products to our customers on a timely basis. Additionally, certain vendors require advance deposits prior to the fulfillment of orders. Deposits paid on unfulfilled orders totaled $0.7 million and $0.8 million at December&#160;31, 2021 and 2020, respectively.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Product development</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product development</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product development expenses include salaries, contractor and consulting fees, supplies and materials, as well as costs related to other overhead items such as depreciation and facilities costs. Research and development costs are expensed as they are incurred.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net income (loss) per share</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Net loss per share</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-based compensation</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognize compensation expense based on the estimated grant date fair value under the authoritative guidance. Management applies the Black-Scholes option pricing model to value stock options issued to employees and directors and applies judgment in estimating key assumptions that are important elements of the model in expense recognition. These elements include the expected life of the option, the expected stock-price volatility, and expected forfeiture rates. Compensation expense is generally amortized on a straight-line basis over the requisite service period, which is generally the vesting period. See Note 10, &#8220;Stockholders&#8217; Equity,&#8221; for additional information. Common stock, stock options, and warrants issued to non-employees that are not part of an equity offering are accounted for under the applicable guidance under Accounting Standards Codification (&#8220;ASC&#8221;) 505-50, &#8220;Equity-Based Payments to Non-Employees,&#8221; and are generally re-measured at each reporting date until the awards vest.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising expenses</a></td>
<td class="text">Advertising expensesAdvertising expenses are charged to operations in the period incurred. They consist of costs for the placement of our advertisements in various media and the costs of demos provided to potential distributors of our products.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyPolicy', window );">Product warranties</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Product warranties</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We warrant our commercial and MMM LED products and controls for periods generally ranging from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f2241f38-2999-4d07-a4c3-3f46b21079ae"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f99b5010-37ff-40ae-9fe5-83566fecd2e0">five</span></span> to ten years and from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1Mjk_fbbd22c1-2b2b-46a1-8c5e-8410f2bdbbb7">one</span> to five years for UVCD products. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent accounting standards and pronouncements</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%">In November 2021, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued ASU No. 2021-10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%">Government Assistance (Topic 832)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"> (&#8220;ASU 2021-10&#8221;), in order to increase the transparency of government assistance by requiring the disclosure of: (i) types of assistance; (ii) an entity&#8217;s accounting for the assistance; and (iii) the effect of the assistance on an entity&#8217;s financial statements. ASU 2021-10 is effective for all entities (including smaller reporting companies) for financial statements issued for annual periods beginning after December 15, 2021, with early adoption permitted. The amendments in ASU 2021-10 should be applied either prospectively to all transactions within scope reflected in the financial statements after the effective date, or retrospectively to those same transactions. The Company has early adopted the new standard effective as of December 31, 2021. Refer to Note 13 &#8220;Other Income,&#8221; for additional information.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2020, the FASB issued ASU No. 2020-06, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity&#8217;s Own Equity (Subtopic 815-40)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (&#8220;ASU 2020-06&#8221;), to simplify accounting for certain financial instruments with characteristics of liabilities or equity. ASU 2020-06 is effective for smaller reporting companies for fiscal years beginning after December 15, 2023 and interim periods therein. Early adoption is permitted beginning January 1, 2021. The new guidance: (i) eliminates the current models that require separation of beneficial conversion and cash conversion features from convertible instruments; (ii) simplifies the derivative scope exception guidance pertaining to equity classification of contracts in an entity&#8217;s own equity; (iii) introduces additional disclosures for convertible debt and freestanding instruments that are indexed to and settled in an entity&#8217;s own equity; and (iv) amends the diluted earnings per share guidance, including the requirement to use the if-converted method for all convertible instruments. The Company early adopted the new standard effective January 1, 2021. The adoption of ASU 2020-06 did not have an impact on the Company&#8217;s financial position or results of operations upon adoption.</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently issued accounting pronouncements</span></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU No. 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. This standard will be effective for interim and annual periods starting after December 15, 2022 and will generally require adoption on a modified retrospective basis. We are in the process of evaluating the impact of the standard.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LongLivedAssetsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for property, plant and equipment as well as goodwill and intangible assets, which may include the basis of such assets, depreciation methods used and estimated useful lives, the entity's capitalization policy, including its accounting treatment for costs incurred for repairs and maintenance activities, whether such asset balances include capitalized interest and the method by which such is calculated, how disposals of such assets are accounted for and how impairment of such assets is assessed and recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LongLivedAssetsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4273-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123345438&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124437754&amp;loc=d3e543-108305<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e4975-111524<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5212-111524<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5093-111524<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5033-111524<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837839368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Level 3 Fair Value Reconciliation</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A roll-forward of fair value measurements using significant unobservable inputs (Level 3) for the January 2020 Warrants issued in the January 2020 Equity Offering is as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"><tr><td style="width:1.0%"/><td style="width:79.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.270%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Twelve months ended December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Balance January 1, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Issuance of warrants, January 2020</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">1,636&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Settlements from exercise</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,317)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Loss from change in fair value of warrants</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">1,086&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">Reclassification to equity upon modification </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Balance December 31, 2020</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a reconciliation of basic and diluted loss per share computations (in thousands, except per share amounts):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:68.929%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.522%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss </span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,886)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,981)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic and diluted weighted average common shares outstanding*</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,561&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,270&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="12" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*Shares outstanding for prior periods have been restated for the 1-for-5 stock split effective June 11, 2020.</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Schedule of Warranty Activity</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes warranty activity for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:68.841%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.564%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at the beginning of the year</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">227&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accruals for warranties issued</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(41)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to existing warranties</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Settlements made during the year (in kind)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accrued warranty reserve at the end of the period</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">295&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">227&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19279-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844256440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring Restructuring (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock', window );">Schedule of Restructuring Reserve by Type of Cost</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the beginning and ending balances of our restructuring liability as it relates to the Company&#8217;s restructuring plans (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:83.256%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restructuring Liability</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2019</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accretion of lease obligations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(29)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2020</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a reconciliation of the ending balance of our restructuring liability at December&#160;31, 2021 and December&#160;31, 2020 (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance at December 31</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less, short-term restructuring liability</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term restructuring liability, included in other liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringAndRelatedActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006841735512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Components of Lease Cost and Supplemental Cash Flow Information</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of the operating, restructured and finance lease costs recognized in net loss were as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the years ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating lease cost (income)</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(112)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(105)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost, net</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">446&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">492&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:8pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restructured lease cost (income)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sub-lease income</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(136)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(272)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease income, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease cost, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">420&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">457&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock', window );">Schedule of Supplemental Balance Sheet Information</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental Consolidated Balance Sheet information related to the Company&#8217;s operating and finance leases are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">292&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">794&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease right-of-use assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets, total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">292&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">901&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">916&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restructured lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities, total</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,084&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Allowances for depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease assets, net</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total finance lease liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Future Maturities of Finance Lease Liabilities</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:62.350%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:17.176%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Lease</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">332&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">359&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Future Maturities of Operating Lease Liabilities</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:62.350%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:17.176%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Finance Lease</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">332&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total future undiscounted lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">359&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less imputed interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease obligations</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">351&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock', window );">Supplemental Cash Flow Information Related To Leases</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to leases was as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ended December 31,</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Supplemental Cash Flow Information:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid, net, for amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">532&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">537&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from restructured leases</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lease, Supplemental Balance Sheet Information [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>[Table Text Block] for Supplemental Cash Flow Information Related To Leases [Table]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844744792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of Inventory</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value and consists of the following (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:61.400%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.282%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.283%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,882&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,695&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,034&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,840&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reserve for excess, obsolete, and slow-moving inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,050)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,894)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Inventories, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,866&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,641&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.326%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.128%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.516%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,894)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,518)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrual</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(281)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reduction due to sold inventory</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">343&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reserves for excess, obsolete, and slow-moving inventories</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,050)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,894)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844274104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:61.509%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.228%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.230%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equipment (useful life 3 - 15 years)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,308&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,281&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tooling (useful life 2 - 5 years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">384&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">240&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vehicles (useful life 5 years)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Furniture and fixtures (useful life 5 years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">137&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer software (useful life 3 years)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,194&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,057&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements (the shorter of useful life or lease life)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">169&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">169&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease right-of-use asset</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">UV - Robots (useful life 5 years)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">135&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment at cost</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,477&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,084&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,802)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,664)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">675&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">420&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844356728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Prepaid Expenses and Other Current Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract', window );"><strong>Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock', window );">Schedule of Prepaid and Other Current Assets</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prepaid and other current assets consisted of the following (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center;text-indent:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:68.841%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.564%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid insurance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">253&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">233&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid rent</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term deposits - non-inventory</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted cash</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">342&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">ERTC funds</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">445&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total prepaid and other current assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">924&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">782&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837892184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock', window );">Schedule of Stockholders' Equity Note, Warrants or Rights</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021, we had the following outstanding December 2021 Warrants to purchase shares of common stock:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:40.859%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.759%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:17.759%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.763%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2021</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,278,413</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$3.5200</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">December 16, 2026</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-Funded Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,228</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$0.0001</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">None</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,363,641</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2021 and 2020, we had the following outstanding January 2020 Warrants to purchase shares of common stock:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:32.379%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.443%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.736%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2021</span></td><td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of December 31, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Number of Underlying Shares</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Expiration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Investor Warrants</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187,734</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">425,626</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$3.3700</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Placement Agent Warrants</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,680</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,680</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$4.9940</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">January 13, 2025</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">229,414</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">467,306</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Summary of Impact of Results of Stock-Based Compensation</a></td>
<td class="text"><div style="margin-bottom:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">406&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">429&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions</a></td>
<td class="text">Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further comparatively detailed as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of options issued</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.92&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.06&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercise price</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.07&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.68&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected life of option (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.1</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Option Activity</a></td>
<td class="text">A summary of option activity under all plans was as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:61.509%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.228%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.230%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of<br/>Options</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Exercise Price<br/>Per Share</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2019</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155,031&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.23&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,350&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.68&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,774)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.56&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,157)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.11&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2020</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">221,450&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.45&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,240&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.07&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cancelled</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36,706)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.35&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expired</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,650)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49.18&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,225)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.96&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267,109&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.46&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and expected to vest at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231,462&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.41&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,121&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.28&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock', window );">Schedule of Options Outstanding</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The options outstanding at December&#160;31, 2021 have been segregated into ranges for additional disclosure as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:6.095%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.424%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.801%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.234%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.262%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.262%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.381%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.262%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.975%"/><td style="width:0.1%"/></tr><tr><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">OPTIONS OUTSTANDING</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">OPTIONS EXERCISABLE</span></td></tr><tr><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Range of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Exercise Prices</span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares Outstanding</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual Life (in years)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares Exercisable</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Remaining Contractual Life (in years)</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1.45</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1.68</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">69,377&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.49&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.49&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$1.69</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$2.20</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,975&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.5</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.5</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$2.21</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$5.42</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,406&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.77&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,046&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.46&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$5.43</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$5.81</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,474&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.1</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.55&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">319&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.4</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.52&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$5.82</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$29.75</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,877&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.69&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,778&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.40&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267,109&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.46&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92,121&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.6</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.28&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Summary of Restricted Stock Activity</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows a summary of restricted stock unit activity:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Restricted Stock Units Outstanding</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted<br/>Average<br/>Grant Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2019</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,603&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.17&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,200&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,068)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.96&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,255)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.40&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,480&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.64&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50,000&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(52,080)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.46&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31, 2021</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,400&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.14&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 50<br> -Section S99<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6784392&amp;loc=d3e188667-122775<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006838042648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Benefits from Income Taxes</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the components of the provision for income taxes (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Deferred:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(Benefit from) provision for income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The principal items accounting for the difference between income taxes computed at the U.S. statutory rate and the (benefit from) provision for income taxes reflected in our Consolidated Statements of Operations are as follows:</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. statutory rate</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes (net of federal tax benefit)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(32.7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26.0)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The tax effects of temporary differences that give rise to significant portions of the deferred tax assets are as follows (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">At December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses and other reserves</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,550&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,787&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use-asset</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(73)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(225)</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">271&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax credits, deferred R&amp;D, and other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net operating loss</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,318&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,510&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(18,932)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,363)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net deferred tax assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006843199576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Product and Geographic Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Breakdown of Product Net Sales</a></td>
<td class="text"><div style="margin-bottom:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a breakdown of product net sales for the years indicated (in thousands):</span></div><div style="margin-bottom:10pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Commercial products</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,682&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,404&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MMM products</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,183&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,424&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,865&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,828&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Geographic Summary of Net Sales</a></td>
<td class="text"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A geographic summary of net sales is as follows (in thousands):</span></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:61.619%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.174%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.177%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">For the year ended December 31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,712&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,685&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">International</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">153&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total net sales</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,865&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,828&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844299976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Supplementary Financial Information to Item 8. (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Financial Information Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Schedule of Quarterly Financial Data</a></td>
<td class="text"><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">QUARTERLY FINANCIAL DATA (UNAUDITED)</span></div><div style="text-align:center;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">amounts in thousands, except per share amounts</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">)</span></div><div style="margin-bottom:15pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:48.973%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.650%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fourth<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Third<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Second<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">First<br/>Quarter</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,405&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,749&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,074&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,637&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">189&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">563&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">393&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">553&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,631)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,140)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,473)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,642)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss per common share attributable to common stockholders (basic and diluted):</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.50)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.59)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.45)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares used in computing net loss per common share (basic and diluted)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,312&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,086&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,211&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,612&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:48.973%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.650%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fourth<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Third<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Second<br/>Quarter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">First<br/>Quarter</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,746&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,964&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,335&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,783&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,434&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,376&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,343&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,032&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,165)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,340)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(541)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per common share attributable to common stockholders - basic</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.01&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.18)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per common share attributable to common stockholders - diluted</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">1</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.01&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1.36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.18)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares used in computing net income (loss) per common share</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">2</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,491&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,308&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,192&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,086&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,307&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,308&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,192&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,086&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:10pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In accordance with Topic 260 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">"Earnings Per Share"</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, net income has been allocated to holders of common shares and participating securities including preferred shares and warrants, accordingly. Earnings per share disclosed above utilizes income attributable to common shareholders after this required allocation.</span></div><div style="margin-bottom:10pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">2</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124502072&amp;loc=d3e1280-108306<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844286408">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Nature of Operations - Narrative (Details) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock authorized (in shares)</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837891640">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Cash and Cash Equivalents (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash</a></td>
<td class="nump">$ 2,682<span></span>
</td>
<td class="nump">$ 1,836<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents</a></td>
<td class="nump">2,682<span></span>
</td>
<td class="nump">2,178<span></span>
</td>
<td class="nump">$ 692<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash held in other assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844267304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Inventories (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_IncreaseDecreaseInInventoryLevelsGross', window );">Reduction of gross inventory levels</a></td>
<td class="nump">$ 2.4<span></span>
</td>
<td class="num">$ (1.2)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_IncreaseDecreaseInInventoryReserves', window );">Increase (decrease) of excess inventory reserves</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_IncreaseDecreaseInInventoryLevelsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Inventory Levels, Gross</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_IncreaseDecreaseInInventoryLevelsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_IncreaseDecreaseInInventoryReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Inventory Reserves</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_IncreaseDecreaseInInventoryReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844246376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Accounts Receivable (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ContractWithCustomerPaymentTerms', window );">Payment terms</a></td>
<td class="text">30 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ContractWithCustomerPaymentTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer, Payment Terms</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ContractWithCustomerPaymentTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831492696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Financial Instruments (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 16, 2021</div></th>
<th class="th"><div>Nov. 25, 2019</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 969<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentProceedsToBePaidToLenderPercent', window );">Percent proceeds to be paid to Lender</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Payments on the Iliad Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">1,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Warrants exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">237,892<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromWarrantExercises', window );">Proceeds from the exercise of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 801<span></span>
</td>
<td class="nump">$ 918<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">December 2021 Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,193,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.52<span></span>
</td>
<td class="nump">$ 3.52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.30<span></span>
</td>
<td class="nump">$ 3.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">499<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Warrants exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_EstimatedProceedsFromIssuanceOfWarrants', window );">Estimated proceeds from issuance of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">December 2021 Private Placement | Pre-Funded Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">December 2021 Private Placement | Common Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.5200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.5200<span></span>
</td>
<td class="nump">$ 3.5200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember', window );">Investor Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">990,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.05<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">187,734<span></span>
</td>
<td class="nump">425,626<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">51<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember', window );">January 2020 Equity Offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.51<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">229,414<span></span>
</td>
<td class="nump">229,414<span></span>
</td>
<td class="nump">467,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 193<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOrSaleOfEquity', window );">Gross proceeds from equity issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Warrants exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">269,240<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_EstimatedProceedsFromIssuanceOfWarrants', window );">Estimated proceeds from issuance of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">841<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromWarrantExercises', window );">Proceeds from the exercise of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 801<span></span>
</td>
<td class="nump">$ 918<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember', window );">January 2020 Equity Offering | Iliad Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentProceedsToBePaidToLenderPercent', window );">Percent proceeds to be paid to Lender</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Payments on the Iliad Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember', window );">January 2020 Institutional Investor</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">688,360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">688,360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare', window );">Purchase price (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.625<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember', window );">January 2020 Equity Offering, Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.9940<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,680<span></span>
</td>
<td class="nump">41,680<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 193<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued, Price Per Share</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentProceedsToBePaidToLenderPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Proceeds To Be Paid To Lender, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentProceedsToBePaidToLenderPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EstimatedProceedsFromIssuanceOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated Proceeds From Issuance Of Warrants</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_EstimatedProceedsFromIssuanceOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForClearingFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Clearing Fees</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsForClearingFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForPlacementAgentCommissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Placement Agent Commissions</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsForPlacementAgentCommissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOrSaleOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of common stock, preferred stock, treasury stock, stock options, and other types of equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOrSaleOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromWarrantExercises">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from holders exercising their stock warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromWarrantExercises</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of non-option equity instruments exercised by participants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_IliadNotePurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_IliadNotePurchaseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836738968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Fair Value Rollforward (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 01, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAdjustmentOfWarrants', window );">Change in fair value of warrant liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,086<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified', window );">Warrant liability - modification</a></td>
<td class="num">$ (1,400)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,405)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring | Fair Value, Inputs, Level 3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent', window );">Balance January 1, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues', window );">Issuance of warrants, January 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,636<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements', window );">Settlements from exercise</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,317)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAdjustmentOfWarrants', window );">Change in fair value of warrant liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,086<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified', window );">Warrant liability - modification</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,405)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent', window );">Balance December 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Adjustments to Additional Paid in Capital, Warrant Reclassified</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAdjustmentOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (income) related to adjustment to fair value of warrant liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section 25<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=109262497&amp;loc=d3e20148-110875<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAdjustmentOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the liabilities, classified as other, for deferred compensation arrangements payable within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=6409733&amp;loc=d3e19512-108361<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 30<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6409875&amp;loc=d3e20028-108363<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836891288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Long-lived Assets (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006843421528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Concentration Risk (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Supplies', window );">Prepaid Supplies</a></td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="nump">$ 0.8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=efoi_TotalExpendituresMember', window );">Total Expenditures | Supplier Concentration Risk | Offshore Supplier</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="nump">29.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=efoi_TotalExpendituresMember', window );">Total Expenditures | Supplier Concentration Risk | Domestic Supplier</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember', window );">Accounts Payable | Supplier Concentration Risk | Offshore Supplier</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="nump">44.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_TwoCustomersMember', window );">Two Customers | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="nump">43.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_TwoCustomersMember', window );">Two Customers | Net sales | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">62.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_DistributorToTheU.S.NavyMember', window );">Distributor To The U.S. Navy | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="nump">30.00%<span></span>
</td>
<td class="nump">28.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_RegionalCommercialLightingRetrofitCompanyMember', window );">Regional Commercial Lighting Retrofit Company | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember', window );">Distributor To U.S. Navy Combined With Sales To Shipbuilders | Net sales | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="nump">38.00%<span></span>
</td>
<td class="nump">53.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_DistributorToTheUSDepartmentOfDefenseMember', window );">Distributor To The U.S. Department Of Defense | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=efoi_ShipbuilderForUSNavyMember', window );">Shipbuilder For U.S. Navy | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk</a></td>
<td class="nump">36.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Supplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration paid in advance for supplies that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(7)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123349782&amp;loc=d3e5879-108316<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Supplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=efoi_TotalExpendituresMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=efoi_TotalExpendituresMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_SupplierConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=efoi_OffshoreSupplierMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=efoi_OffshoreSupplierMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=efoi_DomesticSupplierMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis=efoi_DomesticSupplierMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsPayableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_TwoCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_TwoCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_DistributorToTheU.S.NavyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_DistributorToTheU.S.NavyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_RegionalCommercialLightingRetrofitCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_RegionalCommercialLightingRetrofitCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_DistributorToTheUSDepartmentOfDefenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_DistributorToTheUSDepartmentOfDefenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=efoi_ShipbuilderForUSNavyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=efoi_ShipbuilderForUSNavyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006843431832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Income (Loss) per Share (Details) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2021</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Numerator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (2,631)<span></span>
</td>
<td class="num">$ (1,140)<span></span>
</td>
<td class="num">$ (2,473)<span></span>
</td>
<td class="num">$ (1,642)<span></span>
</td>
<td class="nump">$ 65<span></span>
</td>
<td class="num">$ (1,165)<span></span>
</td>
<td class="num">$ (4,340)<span></span>
</td>
<td class="num">$ (541)<span></span>
</td>
<td class="num">$ (7,886)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">$ (5,981)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">5,312<span></span>
</td>
<td class="nump">5,086<span></span>
</td>
<td class="nump">4,211<span></span>
</td>
<td class="nump">3,612<span></span>
</td>
<td class="nump">3,491<span></span>
</td>
<td class="nump">3,308<span></span>
</td>
<td class="nump">3,192<span></span>
</td>
<td class="nump">3,086<span></span>
</td>
<td class="nump">4,561<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">3,270<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">5,312<span></span>
</td>
<td class="nump">5,086<span></span>
</td>
<td class="nump">4,211<span></span>
</td>
<td class="nump">3,612<span></span>
</td>
<td class="nump">4,307<span></span>
</td>
<td class="nump">3,308<span></span>
</td>
<td class="nump">3,192<span></span>
</td>
<td class="nump">3,086<span></span>
</td>
<td class="nump">4,561<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">3,270<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr><td colspan="13"></td></tr>
<tr><td colspan="13"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006838015688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Net Loss Per Share (Details) - shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 16, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">December 2021 Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember', window );">Pre-Funded Warrants | December 2021 Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="nump">85,228<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_StockOptionMember', window );">Equity Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from computation of earnings per share (number of shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">51,000<span></span>
</td>
<td class="nump">69,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from computation of earnings per share (number of shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_WarrantMember', window );">Common Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from computation of earnings per share (number of shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47,000<span></span>
</td>
<td class="nump">174,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_ConvertiblePreferredStockMember', window );">Convertible Preferred Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from computation of earnings per share (number of shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">260,000<span></span>
</td>
<td class="nump">506,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_StockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_StockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_ConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_ConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006843165944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Advertising Expenses (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising expense</a></td>
<td class="nump">$ 0.4<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837420584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Product Warranties (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Commercial Products</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard Product Warranty, Number of Years</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | MMM LED Products</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard Product Warranty, Number of Years</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | UVCD Products</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard Product Warranty, Number of Years</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Commercial Products</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard Product Warranty, Number of Years</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | MMM LED Products</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard Product Warranty, Number of Years</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | UVCD Products</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Product Warranty Liability [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_StandardProductWarrantyNumberofYears', window );">Standard Product Warranty, Number of Years</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_StandardProductWarrantyNumberofYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Standard Product Warranty, Number of Years</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_StandardProductWarrantyNumberofYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyLiabilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_CommercialProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_CommercialProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_MMMLEDProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_MMMLEDProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_UVCDProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_UVCDProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006841991816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Schedule of Warranty Activity (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward', window );"><strong>Movement in Standard Product Warranty Accrual [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualCurrent', window );">Balance at the beginning of the year</a></td>
<td class="nump">$ 227<span></span>
</td>
<td class="nump">$ 195<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued', window );">Accruals for warranties issued</a></td>
<td class="num">(41)<span></span>
</td>
<td class="nump">33<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Adjustments to existing warranties</a></td>
<td class="nump">47<span></span>
</td>
<td class="nump">19<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPayments', window );">Settlements made during the year (in kind)</a></td>
<td class="nump">62<span></span>
</td>
<td class="num">(20)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualCurrent', window );">Accrued warranty reserve at the end of the period</a></td>
<td class="nump">$ 295<span></span>
</td>
<td class="nump">$ 227<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardProductWarrantyAccrualRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831702488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring - Narrative (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="4">1 Months Ended</th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 01, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 30, 2020 </div>
<div>creditFacility</div>
</th>
<th class="th">
<div>Aug. 11, 2020 </div>
<div>creditFacility</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (2,631)<span></span>
</td>
<td class="num">$ (1,140)<span></span>
</td>
<td class="num">$ (2,473)<span></span>
</td>
<td class="num">$ (1,642)<span></span>
</td>
<td class="nump">$ 65<span></span>
</td>
<td class="num">$ (1,165)<span></span>
</td>
<td class="num">$ (4,340)<span></span>
</td>
<td class="num">$ (541)<span></span>
</td>
<td class="num">$ (7,886)<span></span>
</td>
<td class="num">$ (5,981)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,765)<span></span>
</td>
<td class="num">(2,451)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCosts', window );">Restructuring</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(21)<span></span>
</td>
<td class="num">(60)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Proceeds from bridge financing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentNumberOfCreditFacilities', window );">Number of new credit facilities | creditFacility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Stockholders' equity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,255<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,714<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,209<span></span>
</td>
<td class="nump">4,255<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,996<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified', window );">Warrant liability - modification</a></td>
<td class="nump">$ 1,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,405<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">December 2021 Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember', window );">Equity Offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember', window );">January 2020 Equity Offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Adjustments to Additional Paid in Capital, Warrant Reclassified</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentNumberOfCreditFacilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Number Of Credit Facilities</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentNumberOfCreditFacilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836554760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Restructuring - Reconciliation of Restructuring Liability (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserveRollForward', window );"><strong>Restructuring Reserve [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserveCurrent', window );">Less, short-term restructuring liability</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 11<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_FacilityClosingMember', window );">Restructuring Liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserveRollForward', window );"><strong>Restructuring Reserve [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Beginning balance</a></td>
<td class="nump">11<span></span>
</td>
<td class="nump">38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuringReserveAccretion', window );">Accretion of lease obligations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRestructuring', window );">Payments</a></td>
<td class="num">(11)<span></span>
</td>
<td class="num">(29)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Ending balance</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserve', window );">Balance at December 31</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserveCurrent', window );">Less, short-term restructuring liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestructuringReserveNoncurrent', window );">Long-term restructuring liability, included in other liabilities</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuringReserveAccretion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructuring Reserve, Accretion</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuringReserveAccretion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRestructuring">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3367-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRestructuring</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of known and estimated obligations associated with exit from or disposal of business activities or restructurings pursuant to a duly authorized plan, which are expected to be paid in the next twelve months or in the normal operating cycle if longer. Costs of such activities include those for one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, relocating employees, and costs associated with an ongoing benefit arrangement, but excludes costs associated with the retirement of a long-lived asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserveCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringReserveNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of known and estimated costs associated with exit from or disposal of business activities or restructurings pursuant to a duly authorized plan, which are expected to be paid after one year or beyond the next operating cycle, if longer. Costs of such activities include those for one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, and relocating employees, and costs associated with an ongoing benefit arrangement, but excludes costs associated with the retirement of a long-lived asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph 210-10-S99-1(SX 210.5-02(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6394359&amp;loc=d3e17939-110869<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=115931487&amp;loc=d3e140904-122747<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserveNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringReserveRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringReserveRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringCostAndReserveAxis=us-gaap_FacilityClosingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestructuringCostAndReserveAxis=us-gaap_FacilityClosingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006839658056">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LesseeOperatingLeaseInterestRateEffectiveRate', window );">Operating lease, borrowing rate</a></td>
<td class="nump">15.93%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseDiscountRate', window );">Operating lease, discount rate</a></td>
<td class="nump">7.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating lease, weighted average remaining lease term</a></td>
<td class="text">9 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Finance lease, weighted average remaining lease term</a></td>
<td class="text">3 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash held in other assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LesseeOperatingLeaseInterestRateEffectiveRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Operating Lease, Interest Rate, Effective Rate</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LesseeOperatingLeaseInterestRateEffectiveRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Discount rate used by lessee to determine present value of operating lease payments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836597272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Components of Lease Cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubleaseIncome', window );">Sub-lease income</a></td>
<td class="num">$ (112)<span></span>
</td>
<td class="num">$ (105)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Lease cost</a></td>
<td class="nump">558<span></span>
</td>
<td class="nump">597<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_OperatingLeaseCostNetOfSubleaseIncome', window );">Operating lease cost, net</a></td>
<td class="nump">446<span></span>
</td>
<td class="nump">492<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuredLeaseSubleaseIncome', window );">Sub-lease income</a></td>
<td class="num">(136)<span></span>
</td>
<td class="num">(272)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuredLeaseOperatingLeaseCost', window );">Lease cost</a></td>
<td class="nump">110<span></span>
</td>
<td class="nump">237<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome', window );">Restructured lease income, net</a></td>
<td class="num">(26)<span></span>
</td>
<td class="num">(35)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Total lease cost, net</a></td>
<td class="nump">$ 420<span></span>
</td>
<td class="nump">$ 457<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_OperatingLeaseCostNetOfSubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Operating Lease, Cost, Net Of Sublease Income</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_OperatingLeaseCostNetOfSubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuredLeaseOperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructured Lease, Operating Lease, Cost</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuredLeaseOperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructured Lease, Operating Lease, Cost, Net Of Sublease Income</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuredLeaseSubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructured Lease, Sublease Income</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuredLeaseSubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubleaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of sublease income excluding finance and operating lease expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubleaseIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831483320">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Supplemental Balance Sheet Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease, right-of-use asset</a></td>
<td class="nump">$ 292<span></span>
</td>
<td class="nump">$ 794<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuredOperatingLeaseRightOfUseAsset', window );">Restructured lease, right-of-use asset</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">107<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases', window );">Operating lease right-of-use assets, total</a></td>
<td class="nump">292<span></span>
</td>
<td class="nump">901<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="nump">351<span></span>
</td>
<td class="nump">916<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuredOperatingLeaseLiability', window );">Restructured lease liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">168<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases', window );">Operating lease liabilities, total</a></td>
<td class="nump">351<span></span>
</td>
<td class="nump">1,084<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract', window );"><strong>Finance Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_FinanceLeaseRightOfUseAssetGross', window );">Property and equipment</a></td>
<td class="nump">13<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation', window );">Allowances for depreciation</a></td>
<td class="num">(12)<span></span>
</td>
<td class="num">(9)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance lease assets, net</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Finance lease liabilities</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Finance Lease, Assets And Liabilities, Lessee</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Finance Lease, Right-Of-Use Asset, Accumulated Depreciation</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_FinanceLeaseRightOfUseAssetGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Finance Lease, Right-Of-Use Asset, Gross</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_FinanceLeaseRightOfUseAssetGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Operating Lease, Assets And Liabilities, Lessee</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_OperatingLeaseLiabilityIncludingRestructuredLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Operating Lease, Liability, Including Restructured Leases</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_OperatingLeaseLiabilityIncludingRestructuredLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Operating Lease, Right-of-Use Asset, Including Restructured Leases</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuredOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructured Operating Lease, Liability</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuredOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuredOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructured Operating Lease, Right-Of-Use Asset</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuredOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837425672">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Future Maturities of Lease Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths', window );">2022</a></td>
<td class="nump">$ 332<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo', window );">2023</a></td>
<td class="nump">19<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree', window );">2024</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour', window );">2025</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive', window );">2026</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future undiscounted lease payments</a></td>
<td class="nump">359<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="num">(8)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease obligations</a></td>
<td class="nump">351<span></span>
</td>
<td class="nump">$ 916<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract', window );"><strong>Finance Lease</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths', window );">2022</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo', window );">2023</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree', window );">2024</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour', window );">2025</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive', window );">2026</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDue', window );">Total future undiscounted lease payments</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Total lease obligations</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">$ 4<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for finance lease due in next rolling 12 months following current statement of financial position date. For interim and annual periods when interim period is reported on rolling approach.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in next rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006841661832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of Supplemental Cash Flow Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash flows from operating leases</a></td>
<td class="nump">$ 532<span></span>
</td>
<td class="nump">$ 537<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RestructuredLeasesOperatingLeasePayments', window );">Operating cash flows from restructured leases</a></td>
<td class="nump">35<span></span>
</td>
<td class="nump">69<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Financing cash flows from finance leases</a></td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RestructuredLeasesOperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Restructured Leases, Operating Lease, Payments</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RestructuredLeasesOperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006841824280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories - Schedule of Inventory (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Raw materials</a></td>
<td class="nump">$ 3,882<span></span>
</td>
<td class="nump">$ 2,695<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished goods</a></td>
<td class="nump">7,034<span></span>
</td>
<td class="nump">5,840<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryValuationReserves', window );">Reserve for excess, obsolete, and slow-moving inventories</a></td>
<td class="num">(3,050)<span></span>
</td>
<td class="num">(2,894)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories, net</a></td>
<td class="nump">$ 7,866<span></span>
</td>
<td class="nump">$ 5,641<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation reserve for inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryValuationReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006842125928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories - Reserve Rollforward (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_InventoryReserveRollForward', window );"><strong>Inventory, Reserve [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_InventoryValuationReservesRawMaterials', window );">Beginning balance</a></td>
<td class="num">$ (2,894)<span></span>
</td>
<td class="num">$ (3,518)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_InventoryValuationReservesProvisionAccrual', window );">Accrual</a></td>
<td class="num">(281)<span></span>
</td>
<td class="nump">281<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_InventoryValuationReservesSalesOfInventory', window );">Reduction due to sold inventory</a></td>
<td class="nump">125<span></span>
</td>
<td class="nump">343<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_InventoryValuationReservesRawMaterials', window );">Reserves for excess, obsolete, and slow-moving inventories</a></td>
<td class="num">$ (3,050)<span></span>
</td>
<td class="num">$ (2,894)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_InventoryReserveRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Inventory, Reserve</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_InventoryReserveRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_InventoryValuationReservesProvisionAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Inventory Valuation Reserves, Provision (Accrual)</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_InventoryValuationReservesProvisionAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_InventoryValuationReservesRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Inventory Valuation Reserves, Raw Materials</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_InventoryValuationReservesRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_InventoryValuationReservesSalesOfInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Inventory Valuation Reserves, Sales Of Inventory</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_InventoryValuationReservesSalesOfInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831898696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_IncreaseDecreaseInInventoryLevelsGross', window );">Reduction of gross inventory levels</a></td>
<td class="nump">$ 2.4<span></span>
</td>
<td class="num">$ (1.2)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_IncreaseDecreaseInInventoryReserves', window );">Increase (decrease) of excess inventory reserves</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_IncreaseDecreaseInInventoryLevelsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Inventory Levels, Gross</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_IncreaseDecreaseInInventoryLevelsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_IncreaseDecreaseInInventoryReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Inventory Reserves</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_IncreaseDecreaseInInventoryReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831784120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization', window );">Finance lease right-of-use asset</a></td>
<td class="nump">$ 13<span></span>
</td>
<td class="nump">$ 13<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment at cost</a></td>
<td class="nump">3,477<span></span>
</td>
<td class="nump">3,084<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization', window );">Less: accumulated depreciation</a></td>
<td class="num">(2,802)<span></span>
</td>
<td class="num">(2,664)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Property and equipment, net</a></td>
<td class="nump">675<span></span>
</td>
<td class="nump">420<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 188<span></span>
</td>
<td class="nump">184<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 1,308<span></span>
</td>
<td class="nump">1,281<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">15 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember', window );">Tooling</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 384<span></span>
</td>
<td class="nump">240<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember', window );">Tooling | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember', window );">Tooling | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 83<span></span>
</td>
<td class="nump">47<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and fixtures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 86<span></span>
</td>
<td class="nump">137<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember', window );">Computer software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 1,194<span></span>
</td>
<td class="nump">1,057<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 169<span></span>
</td>
<td class="nump">169<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_RobotsMember', window );">UV- Robots</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 105<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, useful life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction in progress</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment at cost</a></td>
<td class="nump">$ 135<span></span>
</td>
<td class="nump">$ 140<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_ToolingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareAndSoftwareDevelopmentCostsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_RobotsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=efoi_RobotsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831608568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Prepaid Expenses and Other Current Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract', window );"><strong>Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidInsurance', window );">Prepaid insurance</a></td>
<td class="nump">$ 131<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 126<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherPrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">253<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">233<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidRent', window );">Prepaid rent</a></td>
<td class="nump">74<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SecurityDeposit', window );">Short-term deposits - non-inventory</a></td>
<td class="nump">18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">342<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent', window );">ERTC funds</a></td>
<td class="nump">445<span></span>
</td>
<td class="nump">$ 445<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Total prepaid and other current assets</a></td>
<td class="nump">$ 924<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 782<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherPrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for other costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherPrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidInsurance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123349782&amp;loc=d3e5879-108316<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidInsurance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for rent that provides economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123349782&amp;loc=d3e5879-108316<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecurityDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8,17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecurityDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006833509480">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Debt - Credit Facilities (Details)<br></strong></div></th>
<th class="th">
<div>Aug. 11, 2020 </div>
<div>USD ($) </div>
<div>creditFacility</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 20, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 30, 2020 </div>
<div>creditFacility</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentNumberOfCreditFacilities', window );">Number of new credit facilities | creditFacility</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Credit line borrowings, net of loan origination fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,169,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,298,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts', window );">Amount available based on qualifying accounts</a></td>
<td class="nump">$ 4,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Inventory Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 3,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent', window );">Inventory costs</a></td>
<td class="nump">75.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent', window );">Inventory, net orderly liquidation value</a></td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Stated interest rate</a></td>
<td class="nump">5.75%<span></span>
</td>
<td class="nump">22.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent', window );">Monthly service fee</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityMonthlyFacilityFee', window );">Minimum monthly fee</a></td>
<td class="nump">$ 18,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Credit line borrowings, net of loan origination fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnamortizedDebtIssuanceExpense', window );">Unamortized net issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 84,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 121,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Inventory Facility | London Interbank Offered Rate (LIBOR)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Stated interest rate</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentBaseRateVariable', window );">Variable interest rate, base</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.21%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.24%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Receivables Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 2,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Stated interest rate</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent', window );">Monthly service fee</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityMonthlyFacilityFee', window );">Minimum monthly fee</a></td>
<td class="nump">$ 25,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent', window );">Percent of accounts receivable used as borrowing capacity</a></td>
<td class="nump">90.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee', window );">Stated interest rate on collateral management fee</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Credit line borrowings, net of loan origination fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnamortizedDebtIssuanceExpense', window );">Unamortized net issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Receivables Facility | Wall Street Journal, highest prime rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentBaseRateVariable', window );">Variable interest rate, base</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Austin Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod', window );">Annual facility period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityOverdraftFeePercent', window );">Overdraft fee</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityAnnualFeePercent', window );">Annual fee</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityCollateralManagementFeePercent', window );">Collateral management fee</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDebtExtinguishmentCosts', window );">Payment amount</a></td>
<td class="nump">$ 1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFeeAmount', window );">Fee amount</a></td>
<td class="nump">100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WriteOffOfDeferredDebtIssuanceCost', window );">Write off of remaining related debt and acquisition cost</a></td>
<td class="nump">59,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Austin Credit Facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Credit facility, maximum borrowing capacity</a></td>
<td class="nump">$ 5,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts', window );">Amount available under facility based on qualified accounts receivable</a></td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue', window );">Percent of net realizable value of eligible inventory</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityAvailableInventory', window );">Eligible inventory</a></td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LineOfCreditFacilityMinimumRequirement', window );">Minimum borrowing requirement</a></td>
<td class="nump">$ 1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentBaseRateVariable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Base Rate, Variable</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentBaseRateVariable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Interest Rate, Stated Percentage, Collateral Management Fee</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentNumberOfCreditFacilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Number Of Credit Facilities</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentNumberOfCreditFacilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Amount Available Based On Qualified Accounts</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityAnnualFacilityFeePeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Annual Facility Fee, Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityAnnualFacilityFeePeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityAnnualFeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Annual Fee, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityAnnualFeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Available Amount Based On Qualified Accounts</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityAvailableInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Available Inventory</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityAvailableInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Available Inventory, Net Realizable Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityCollateralManagementFeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Collateral Management Fee, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityCollateralManagementFeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityMinimumRequirement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Minimum Requirement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityMinimumRequirement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityMonthlyFacilityFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Monthly Facility Fee</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityMonthlyFacilityFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityMonthlyFacilityFeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Monthly Facility Fee, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityMonthlyFacilityFeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LineOfCreditFacilityOverdraftFeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line Of Credit Facility, Overdraft Fee, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LineOfCreditFacilityOverdraftFeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFeeAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the fee that accompanies borrowing money under the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFeeAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDebtExtinguishmentCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for cost from early extinguishment and prepayment of debt. Includes, but is not limited to, third-party cost, premium paid, and other fee paid to lender directly for debt extinguishment or debt prepayment. Excludes accrued interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDebtExtinguishmentCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnamortizedDebtIssuanceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnamortizedDebtIssuanceExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WriteOffOfDeferredDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Write-off of amounts previously capitalized as debt issuance cost in an extinguishment of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WriteOffOfDeferredDebtIssuanceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_InventoryFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_InventoryFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_ReceivablesFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_ReceivablesFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=efoi_WallStreetJournalHighestPrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=efoi_WallStreetJournalHighestPrimeRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_AustinFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_AustinFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_AustinCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_AustinCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844664776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt - Streeterville Note (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Apr. 27, 2021 </div>
<div>USD ($) </div>
<div>deferral</div>
</th>
<th class="th">
<div>Apr. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Proceeds from issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_StreetervilleNotePurchaseAgreementMember', window );">Streeterville Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="nump">$ 1,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscount', window );">Original issue discount</a></td>
<td class="nump">194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Proceeds from issuance</a></td>
<td class="nump">1,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Debt issuance costs</a></td>
<td class="nump">$ 15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Stated interest rate</a></td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount', window );">Maximum redemption amount</a></td>
<td class="nump">$ 205<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals', window );">Right to defer mandatory redemption, number of deferrals | deferral</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption', window );">Percentage increase due to deferral of redemption option</a></td>
<td class="nump">1.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentCarryingAmount', window );">Total liability, net of discount and financing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet', window );">Unamortized discount and financing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 43<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange', window );">Percentage increase if delisted from Nasdaq</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_StreetervilleNotePurchaseAgreementMember', window );">Streeterville Note | Debt Instrument, Redemption, Period One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentPrepaymentPremiumPercent', window );">Prepayment premium</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtPrepaymentMaximumPercentage', window );">Debt Prepayment Maximum, Percentage</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_StreetervilleNotePurchaseAgreementMember', window );">Streeterville Note | Debt Instrument, Redemption, Period Two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentPrepaymentPremiumPercent', window );">Prepayment premium</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Percentage Increase If Delisted From Security Exchange</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentPrepaymentPremiumPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Prepayment Premium, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentPrepaymentPremiumPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument Subject To Mandatory Redemption, Maximum Amount</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtPrepaymentMaximumPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Prepayment Maximum, Percentage</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtPrepaymentMaximumPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Note Payable, Percentage Increase Due to Deferral of Redemption Option</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unamortized debt discount (premium) and debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031897-161870<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_StreetervilleNotePurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_StreetervilleNotePurchaseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831638952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt - PPP Loan (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 17, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramCurrent', window );">PPP loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 529<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramNoncurrent', window );">PPP loan, net of current maturities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">266<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_GainLossOnForgivenessOfDebt', window );">Gain on forgiveness of PPP loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">801<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember', window );">Paycheck Protection Program CARES Act</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLoanOriginations1', window );">Proceeds from loan origination</a></td>
<td class="nump">$ 795<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Stated interest rate</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramCurrent', window );">PPP loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">529<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramNoncurrent', window );">PPP loan, net of current maturities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 266<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_GainLossOnForgivenessOfDebt', window );">Gain on forgiveness of PPP loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_GainLossOnForgivenessOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gain (Loss) On Forgiveness Of Debt</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_GainLossOnForgivenessOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentProtectionProgramCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment Protection Program, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentProtectionProgramCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentProtectionProgramNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment Protection Program, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentProtectionProgramNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLoanOriginations1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash inflow associated with loan origination (the process when securing a mortgage for a piece of real property) or lease origination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLoanOriginations1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006844685176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt - Iliad Note (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 01, 2020</div></th>
<th class="th"><div>Nov. 25, 2019</div></th>
<th class="th"><div>Apr. 30, 2021</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Proceeds from issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentProceedsToBePaidToLenderPercent', window );">Percent proceeds to be paid to Lender</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Payments on the Iliad Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,306,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_IliadNotePurchaseAgreementMember', window );">Iliad Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentUnamortizedPremium', window );">Original issue discount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">142,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfDebt', window );">Proceeds from issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Debt issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfDebt', window );">Repayments of debt</a></td>
<td class="nump">$ 30,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WriteOffOfDeferredDebtIssuanceCost', window );">Write off of remaining related debt and acquisition cost</a></td>
<td class="nump">$ 117,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Stated interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentProceedsToBePaidToLenderPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Proceeds To Be Paid To Lender, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentProceedsToBePaidToLenderPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face (par) amount of debt instrument at time of issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentUnamortizedPremium">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of debt premium.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495340-112611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28541-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentUnamortizedPremium</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow during the period from the repayment of aggregate short-term and long-term debt. Excludes payment of capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WriteOffOfDeferredDebtIssuanceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Write-off of amounts previously capitalized as debt issuance cost in an extinguishment of debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WriteOffOfDeferredDebtIssuanceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_IliadNotePurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_IliadNotePurchaseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837632984">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Debt - Convertible Notes (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">7 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 16, 2020</div></th>
<th class="th"><div>Mar. 29, 2019</div></th>
<th class="th"><div>Jun. 30, 2019</div></th>
<th class="th"><div>Jan. 16, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Jan. 15, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock authorized (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PercentageOfSeriesAPreferredStockEligibleToVote', window );">Percentage of number of votes that each share of preferred stock holders are entitled to</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">11.07%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.07%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember', window );">Convertible Preferred Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock authorized (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember', window );">Preferred Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,721,000<span></span>
</td>
<td class="nump">112,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">344,000<span></span>
</td>
<td class="nump">22,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt', window );">Proceeds from issuance of subordinated convertible promissory notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt', window );">Interest rate on convertible notes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_AccumulatedInterestOnSubordinatedDebt', window );">Accumulated interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock', window );">Net proceeds from the conversion of convertible debt to preferred stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Conversion price (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Shares issued (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,709,018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock authorized (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | Preferred Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,721,023<span></span>
</td>
<td class="nump">111,548<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | Common Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">344,205<span></span>
</td>
<td class="nump">22,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="8"></td></tr>
<tr><td colspan="8"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_AccumulatedInterestOnSubordinatedDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated Interest on Subordinated Debt</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_AccumulatedInterestOnSubordinatedDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net proceeds from the conversion of convertible debt to preferred stock</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PercentageOfSeriesAPreferredStockEligibleToVote">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of Series A Preferred Stock Eligible to Vote</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PercentageOfSeriesAPreferredStockEligibleToVote</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtConversionOriginalDebtInterestRateOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The rate of interest that was being paid on the original debt issue that is being converted in the noncash (or part noncash) transaction. "Part noncash" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtConversionOriginalDebtInterestRateOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031898-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a borrowing where a lender is placed in a lien position behind debt having a higher priority of repayment (senior) in liquidation of the entity's assets or underlying collateral.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836601848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Narrative (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionContingentConsiderationLineItems', window );"><strong>Business Acquisition, Contingent Consideration [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Outstanding purchase commitment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember', window );">Scenario, forecast</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionContingentConsiderationLineItems', window );"><strong>Business Acquisition, Contingent Consideration [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentAmount', window );">Purchase commitment</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 1.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionContingentConsiderationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionContingentConsiderationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The minimum amount the entity agreed to spend under the long-term purchase commitment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837941976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - December 2021 Private Placement (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 16, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 969<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">December 2021 Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,193,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">499<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_EstimatedProceedsFromIssuanceOfWarrants', window );">Estimated proceeds from issuance of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">December 2021 Private Placement | Pre-Funded Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">December 2021 Private Placement | Common Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.5200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.5200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EstimatedProceedsFromIssuanceOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated Proceeds From Issuance Of Warrants</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_EstimatedProceedsFromIssuanceOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForClearingFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Clearing Fees</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsForClearingFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForPlacementAgentCommissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Placement Agent Commissions</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsForPlacementAgentCommissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006838025976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Warrants Outstanding from the December 2021 Private Placement (Details) - December 2021 Private Placement - $ / shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 16, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,363,641<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.30<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">Common Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278,413<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.5200<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember', window );">Pre-Funded Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="nump">85,228<span></span>
</td>
<td class="nump">85,228<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_December2021PrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightAxis=efoi_PreFundedWarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831647704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - June 2021 Equity Offering (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 969<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember', window );">Investor Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock (in shares)</a></td>
<td class="nump">990,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="nump">$ 5.05<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="nump">$ 400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="nump">51<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="nump">19<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="nump">$ 4,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForClearingFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Clearing Fees</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsForClearingFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForPlacementAgentCommissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Placement Agent Commissions</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsForPlacementAgentCommissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831813256">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Preferred Stock (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 16, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Jan. 15, 2020</div></th>
<th class="th"><div>Mar. 29, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock authorized (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PercentageOfSeriesAPreferredStockEligibleToVote', window );">Percentage of number of votes that each share of preferred stock holders are entitled to</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">11.07%<span></span>
</td>
<td class="nump">11.07%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember', window );">Convertible Preferred Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock authorized (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="nump">3,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember', window );">Preferred Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,721,000<span></span>
</td>
<td class="nump">112,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">344,000<span></span>
</td>
<td class="nump">22,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock', window );">Net proceeds from the conversion of convertible debt to preferred stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Conversion price (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Shares issued (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">2,709,018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock authorized (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | Preferred Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,721,023<span></span>
</td>
<td class="nump">111,548<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | Common Stock</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of convertible securities (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">344,205<span></span>
</td>
<td class="nump">22,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | Common Stock | Fusion Park LLC</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion', window );">Common stock issued upon preferred stock conversion (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">184,851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">Convertible Debt | Common Stock | Brilliant Start Enterprise, Inc.</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion', window );">Common stock issued upon preferred stock conversion (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">159,354<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="6"></td></tr>
<tr><td colspan="6"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net proceeds from the conversion of convertible debt to preferred stock</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PercentageOfSeriesAPreferredStockEligibleToVote">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of Series A Preferred Stock Eligible to Vote</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PercentageOfSeriesAPreferredStockEligibleToVote</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued for each share of convertible preferred stock that is converted.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496180-112644<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21506-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466204&amp;loc=SL6031898-161870<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_ConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_PreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=efoi_FusionParkLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=efoi_FusionParkLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=efoi_BrilliantStartEnterpriseInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=efoi_BrilliantStartEnterpriseInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006837613976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - 1-for-5 Reverse Stock Split (Details)<br></strong></div></th>
<th class="th"><div>Jun. 11, 2020</div></th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1', window );">Reverse stock split ratio</a></td>
<td class="nump">0.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock authorized (in shares) | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteStockSplitConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SAB TOPIC 4.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187143-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteStockSplitConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006833300728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - January 2020 Equity Offering (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Nov. 25, 2019</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 969<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentProceedsToBePaidToLenderPercent', window );">Percent proceeds to be paid to Lender</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Payments on the Iliad Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">1,306<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Warrants exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">237,892<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromWarrantExercises', window );">Proceeds from the exercise of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 801<span></span>
</td>
<td class="nump">$ 918<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember', window );">January 2020 Institutional Investor</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare', window );">Purchase price (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.625<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">688,360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember', window );">January 2020 Equity Offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">229,414<span></span>
</td>
<td class="nump">229,414<span></span>
</td>
<td class="nump">467,306<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 193<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
<td class="nump">$ 510<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.51<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOrSaleOfEquity', window );">Gross proceeds from equity issuance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Warrants exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">269,240<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromWarrantExercises', window );">Proceeds from the exercise of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 801<span></span>
</td>
<td class="nump">$ 918<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_EstimatedProceedsFromIssuanceOfWarrants', window );">Estimated proceeds from issuance of warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 841<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember', window );">January 2020 Equity Offering | Iliad Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DebtInstrumentProceedsToBePaidToLenderPercent', window );">Percent proceeds to be paid to Lender</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Payments on the Iliad Note</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember', window );">Investor Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">187,734<span></span>
</td>
<td class="nump">425,626<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.05<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">51<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForClearingFees', window );">Amount paid for clearing fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs paid on the issuance of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts', window );">Net proceeds from sale of common stock and warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember', window );">January 2020 Equity Offering, Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,680<span></span>
</td>
<td class="nump">41,680<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsForPlacementAgentCommissions', window );">Amount paid for placement agent commissions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">193<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement', window );">Amount paid related to expenses for registered direct offering and concurrent private placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights', window );">Securities called by warrants (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.9940<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued, Price Per Share</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DebtInstrumentProceedsToBePaidToLenderPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Debt Instrument, Proceeds To Be Paid To Lender, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DebtInstrumentProceedsToBePaidToLenderPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EstimatedProceedsFromIssuanceOfWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated Proceeds From Issuance Of Warrants</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_EstimatedProceedsFromIssuanceOfWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForClearingFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Clearing Fees</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsForClearingFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsForPlacementAgentCommissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments For Placement Agent Commissions</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsForPlacementAgentCommissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOrSaleOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of common stock, preferred stock, treasury stock, stock options, and other types of equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOrSaleOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromWarrantExercises">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from holders exercising their stock warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromWarrantExercises</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of non-option equity instruments exercised by participants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_IliadNotePurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_IliadNotePurchaseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006833613368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember', window );">January 2020 Equity Offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="nump">229,414<span></span>
</td>
<td class="nump">229,414<span></span>
</td>
<td class="nump">467,306<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.67<span></span>
</td>
<td class="nump">$ 3.51<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember', window );">Investor Warrants</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">187,734<span></span>
</td>
<td class="nump">425,626<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock (USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5.05<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember', window );">January 2020 Equity Offering, Private Placement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ClassOfWarrantOrRightWarrantsIssued', window );">Number of warrants issued (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,680<span></span>
</td>
<td class="nump">41,680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1', window );">Exercise price of warrants (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4.9940<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ClassOfWarrantOrRightWarrantsIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class Of Warrant Or Right, Warrants Issued</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ClassOfWarrantOrRightWarrantsIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Exercise price per share or per unit of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_InstitutionalInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=efoi_January2020EquityOfferingPrivatePlacementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831829288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock-based Compensation (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Mar. 18, 2020</div></th>
<th class="th"><div>Jun. 21, 2017</div></th>
<th class="th"><div>Jul. 22, 2015</div></th>
<th class="th"><div>May 06, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Remaining weighted average life</a></td>
<td class="text">2 years 8 months 12 days<span></span>
</td>
<td class="text">3 years 1 month 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unamortized stock compensation expense</a></td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock option | Non-Employee Director</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Stock option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Stock option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=efoi_Plan2020Member', window );">2020 Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">350,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares available for grant (in shares)</a></td>
<td class="nump">208,256<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=efoi_Plan2014Member', window );">2014 Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">260,000<span></span>
</td>
<td class="nump">120,000<span></span>
</td>
<td class="nump">120,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=efoi_Plan2014Member', window );">2014 Plan | Minimum | Employee</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=efoi_Plan2014Member', window );">2014 Plan | Maximum | Employee</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=efoi_NonEmployeeDirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=efoi_NonEmployeeDirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=efoi_Plan2020Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=efoi_Plan2020Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=efoi_Plan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=efoi_Plan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=efoi_EmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=efoi_EmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831636648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Impact of Results for Stock-Based Compensation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">$ 429<span></span>
</td>
<td class="nump">$ 131<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">9<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Product development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">14<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general, and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">$ 406<span></span>
</td>
<td class="nump">$ 119<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006838008296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Estimates Utilized (Details) - Stock option - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Fair value of options issued (in dollars per share)</a></td>
<td class="nump">$ 3.92<span></span>
</td>
<td class="nump">$ 2.06<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice', window );">Exercise price (in dollars per share)</a></td>
<td class="nump">$ 5.07<span></span>
</td>
<td class="nump">$ 2.68<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life of option (in years)</a></td>
<td class="text">6 years 2 months 12 days<span></span>
</td>
<td class="text">6 years 1 month 6 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">0.90%<span></span>
</td>
<td class="nump">0.70%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">96.30%<span></span>
</td>
<td class="nump">93.60%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831813592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Stock Options Narrative (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="nump">4,225<span></span>
</td>
<td class="nump">12,157<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Intrinsic value of options exercisable</a></td>
<td class="nump">$ 426<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Options exercised, intrinsic value</a></td>
<td class="nump">$ 191<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Stock price (in dollars per share)</a></td>
<td class="nump">$ 4.27<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Stock option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Stock option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=efoi_Plan2014Member', window );">2014 Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Vesting periods</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=efoi_Plan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=efoi_Plan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006833136040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Option Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding at beginning of period (in shares)</a></td>
<td class="nump">221,450<span></span>
</td>
<td class="nump">155,031<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares)</a></td>
<td class="nump">88,240<span></span>
</td>
<td class="nump">112,350<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Canceled (in shares)</a></td>
<td class="num">(36,706)<span></span>
</td>
<td class="num">(33,774)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Expired (in shares)</a></td>
<td class="num">(1,650)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="num">(4,225)<span></span>
</td>
<td class="num">(12,157)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding at end of period (in shares)</a></td>
<td class="nump">267,109<span></span>
</td>
<td class="nump">221,450<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Vested and expected to vest (in shares)</a></td>
<td class="nump">231,462<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable (in shares)</a></td>
<td class="nump">92,121<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price Per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding at beginning of period (in dollars per share)</a></td>
<td class="nump">$ 3.45<span></span>
</td>
<td class="nump">$ 5.23<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted (in dollars per share)</a></td>
<td class="nump">5.07<span></span>
</td>
<td class="nump">2.68<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Canceled (in dollars per share)</a></td>
<td class="nump">5.35<span></span>
</td>
<td class="nump">9.56<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Expired (in dollars per share)</a></td>
<td class="nump">49.18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised (in dollars per share)</a></td>
<td class="nump">1.96<span></span>
</td>
<td class="nump">2.11<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding at end of period (in dollars per share)</a></td>
<td class="nump">3.46<span></span>
</td>
<td class="nump">$ 3.45<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Vested and expected to vest (in dollars per share)</a></td>
<td class="nump">3.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable (in dollars per share)</a></td>
<td class="nump">$ 3.28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006833558488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Options Outstanding and Exercisable (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract', window );"><strong>OPTIONS OUTSTANDING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Shares Outstanding (in shares) | shares</a></td>
<td class="nump">267,109<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">8 years 2 months 12 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 3.46<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract', window );"><strong>OPTIONS EXERCISABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Shares Exercisable (in shares) | shares</a></td>
<td class="nump">92,121<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">7 years 7 months 6 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 3.28<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeOneMember', window );">Exercise price, range one</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, lower limit (in dollars per share)</a></td>
<td class="nump">1.45<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, upper limit (in dollars per share)</a></td>
<td class="nump">$ 1.68<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract', window );"><strong>OPTIONS OUTSTANDING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Shares Outstanding (in shares) | shares</a></td>
<td class="nump">69,377<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">8 years 2 months 12 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 1.49<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract', window );"><strong>OPTIONS EXERCISABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Shares Exercisable (in shares) | shares</a></td>
<td class="nump">27,078<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">8 years 1 month 6 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 1.49<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeTwoMember', window );">Exercise price, range two</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, lower limit (in dollars per share)</a></td>
<td class="nump">1.69<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, upper limit (in dollars per share)</a></td>
<td class="nump">$ 2.20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract', window );"><strong>OPTIONS OUTSTANDING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Shares Outstanding (in shares) | shares</a></td>
<td class="nump">79,975<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">7 years 6 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 2.10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract', window );"><strong>OPTIONS EXERCISABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Shares Exercisable (in shares) | shares</a></td>
<td class="nump">43,900<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">7 years 6 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 2.10<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeThreeMember', window );">Exercise price, range three</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, lower limit (in dollars per share)</a></td>
<td class="nump">2.21<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, upper limit (in dollars per share)</a></td>
<td class="nump">$ 5.42<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract', window );"><strong>OPTIONS OUTSTANDING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Shares Outstanding (in shares) | shares</a></td>
<td class="nump">38,406<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">8 years 7 months 6 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 2.77<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract', window );"><strong>OPTIONS EXERCISABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Shares Exercisable (in shares) | shares</a></td>
<td class="nump">11,046<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">7 years 9 months 18 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 2.46<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeFourMember', window );">Exercise price, range four</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, lower limit (in dollars per share)</a></td>
<td class="nump">5.43<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, upper limit (in dollars per share)</a></td>
<td class="nump">$ 5.81<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract', window );"><strong>OPTIONS OUTSTANDING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Shares Outstanding (in shares) | shares</a></td>
<td class="nump">58,474<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">9 years 1 month 6 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 5.55<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract', window );"><strong>OPTIONS EXERCISABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Shares Exercisable (in shares) | shares</a></td>
<td class="nump">319<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">7 years 4 months 24 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 5.52<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeFiveMember', window );">Exercise price, range five</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Range of Exercise Prices, lower limit (in dollars per share)</a></td>
<td class="nump">5.82<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Range of Exercise Prices, upper limit (in dollars per share)</a></td>
<td class="nump">$ 29.75<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract', window );"><strong>OPTIONS OUTSTANDING</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Number of Shares Outstanding (in shares) | shares</a></td>
<td class="nump">20,877<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">7 years 6 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 10.69<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract', window );"><strong>OPTIONS EXERCISABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Number of Shares Exercisable (in shares) | shares</a></td>
<td class="nump">9,778<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Life (in years)</a></td>
<td class="text">6 years 1 month 6 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Weighted Average Exercise Price (in dollars per share)</a></td>
<td class="nump">$ 14.40<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Exercisable [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Outstanding [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeFourMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=efoi_ExercisePriceRangeFiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006843312744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Restricted Stock Units Narrative (Details) - Restricted Stock Units (RSUs)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">2014 Plan | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">2014 Plan | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">2020 Plan | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">2020 Plan | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=efoi_Plan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=efoi_Plan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=efoi_Plan2020Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=efoi_Plan2020Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831725224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Summary of Restricted Stock Activity (Details) - Restricted Stock Units (RSUs) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward', window );"><strong>Restricted Stock Units Outstanding</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Beginning balance (in shares)</a></td>
<td class="nump">4,480<span></span>
</td>
<td class="nump">6,603<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">50,000<span></span>
</td>
<td class="nump">19,200<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(52,080)<span></span>
</td>
<td class="num">(20,068)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Canceled (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,255)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Ending balance (in shares)</a></td>
<td class="nump">2,400<span></span>
</td>
<td class="nump">4,480<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at beginning of period (in dollars per share)</a></td>
<td class="nump">$ 8.64<span></span>
</td>
<td class="nump">$ 13.17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">5.26<span></span>
</td>
<td class="nump">2.44<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="nump">5.46<span></span>
</td>
<td class="nump">3.96<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Canceled (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.40<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding at end of period (in dollars per share)</a></td>
<td class="nump">$ 7.14<span></span>
</td>
<td class="nump">$ 8.64<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of equity instruments other than options outstanding, including both vested and non-vested instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006836702552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Employee Stock Purchase Plans (Details) - 2013 Plan - shares<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2013</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="nump">100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Purchase price of common stock, percent</a></td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Shares issued in the period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,000<span></span>
</td>
<td class="nump">26,632<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares available for grant (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,523<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Purchase price of common stock expressed as a percentage of its fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis=efoi_EmployeeStockPurchasePlan2013Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis=efoi_EmployeeStockPurchasePlan2013Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831819928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Accrued interest and penalties related to uncertain tax positions</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carry-forwards</a></td>
<td class="nump">9,600,000<span></span>
</td>
<td class="nump">7,100,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, operating loss carry-forwards</a></td>
<td class="nump">17,318,000<span></span>
</td>
<td class="nump">14,510,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations', window );">Deferred tax assets, operating loss carryforwards, portion available after application of IRC Section 382 limitations</a></td>
<td class="nump">71,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration', window );">Operating loss, subject to expiration</a></td>
<td class="nump">37,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Net deferred tax liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct', window );">Deferred payroll taxes, CARES Act</a></td>
<td class="nump">77,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromPaycheckProtectionProgram', window );">Proceeds from PPP loan</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 795,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember', window );">Paycheck Protection Program CARES Act</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_ProceedsFromPaycheckProtectionProgram', window );">Proceeds from PPP loan</a></td>
<td class="nump">795,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">U.S. Federal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, operating loss carry-forwards</a></td>
<td class="nump">125,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State and Local</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, operating loss carry-forwards</a></td>
<td class="nump">$ 77,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Employer Deferred Payroll Taxes, Liability, CARES Act</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_ProceedsFromPaycheckProtectionProgram">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds From Paycheck Protection Program</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_ProceedsFromPaycheckProtectionProgram</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwardsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006843327800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Components (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">$ (5)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">U.S. Federal</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">(Benefit from) provision for income taxes</a></td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">$ (5)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006841758888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Reconciliation (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">U.S. statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes (net of federal tax benefit)</a></td>
<td class="nump">9.70%<span></span>
</td>
<td class="nump">5.60%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(32.70%)<span></span>
</td>
<td class="num">(26.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="num">(0.50%)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective income tax rate reconciliation</a></td>
<td class="nump">(0.00%)<span></span>
</td>
<td class="nump">0.10%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006841840200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Temporary Differences (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther', window );">Accrued expenses and other reserves</a></td>
<td class="nump">$ 1,550<span></span>
</td>
<td class="nump">$ 1,787<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesLeasingArrangements', window );">Right-of-use-asset</a></td>
<td class="num">(73)<span></span>
</td>
<td class="num">(225)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_DeferredTaxAssetsLeasingArrangements', window );">Lease liabilities</a></td>
<td class="nump">88<span></span>
</td>
<td class="nump">271<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Tax credits, deferred R&amp;D, and other</a></td>
<td class="nump">49<span></span>
</td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss</a></td>
<td class="nump">17,318<span></span>
</td>
<td class="nump">14,510<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(18,932)<span></span>
</td>
<td class="num">(16,363)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_DeferredTaxAssetsLeasingArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred Tax Assets, Leasing Arrangements</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_DeferredTaxAssetsLeasingArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from reserves and accruals, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesLeasingArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesLeasingArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006833513928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Product and Geographic Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems', window );"><strong>Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">$ 2,405<span></span>
</td>
<td class="nump">$ 2,749<span></span>
</td>
<td class="nump">$ 2,074<span></span>
</td>
<td class="nump">$ 2,637<span></span>
</td>
<td class="nump">$ 3,746<span></span>
</td>
<td class="nump">$ 5,964<span></span>
</td>
<td class="nump">$ 3,335<span></span>
</td>
<td class="nump">$ 3,783<span></span>
</td>
<td class="nump">$ 9,865<span></span>
</td>
<td class="nump">$ 16,828<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_LonglivedAssetsLocatedinUSPercent', window );">Long-lived assets located in US, percent</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems', window );"><strong>Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,712<span></span>
</td>
<td class="nump">$ 16,685<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=efoi_InternationalMember', window );">International</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems', window );"><strong>Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">153<span></span>
</td>
<td class="nump">143<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=efoi_PoolAndCommercialProductsMember', window );">Commercial products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems', window );"><strong>Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,682<span></span>
</td>
<td class="nump">5,404<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=efoi_GovernmentProductsMember', window );">MMM products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems', window );"><strong>Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,183<span></span>
</td>
<td class="nump">$ 11,424<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_LonglivedAssetsLocatedinUSPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-lived Assets Located in US, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_LonglivedAssetsLocatedinUSPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=efoi_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=efoi_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_PoolAndCommercialProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_PoolAndCommercialProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=efoi_GovernmentProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=efoi_GovernmentProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831930840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Income (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Apr. 17, 2020</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct', window );">ERTC refund</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 431<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent', window );">ERTC expected receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 445<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 445<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramCurrent', window );">PPP loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">529<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramNoncurrent', window );">PPP loan, net of current maturities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_GainLossOnForgivenessOfDebt', window );">Gain on forgiveness of PPP loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">801<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember', window );">Paycheck Protection Program CARES Act</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>Debt Instrument [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLoanOriginations1', window );">Proceeds from loan origination</a></td>
<td class="nump">$ 795<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Stated interest rate</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramCurrent', window );">PPP loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">529<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_PaymentProtectionProgramNoncurrent', window );">PPP loan, net of current maturities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_GainLossOnForgivenessOfDebt', window );">Gain on forgiveness of PPP loan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_GainLossOnForgivenessOfDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gain (Loss) On Forgiveness Of Debt</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_GainLossOnForgivenessOfDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentProtectionProgramCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment Protection Program, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentProtectionProgramCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PaymentProtectionProgramNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment Protection Program, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PaymentProtectionProgramNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payroll Tax Credit, Employee Retention Credit Under The CARES Act</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLoanOriginations1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash inflow associated with loan origination (the process when securing a mortgage for a piece of real property) or lease origination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLoanOriginations1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=efoi_PaycheckProtectionProgramCARESActMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006831396104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Feb. 26, 2019</div></th>
<th class="th"><div>Jul. 31, 2014</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=efoi_A5ElementsGlobalAdvisorsMember', window );">5 Elements Global Advisors</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty', window );">Ownership in reporting entity by related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=efoi_A5ElementsEnergyEfficienciesBVILtdMember', window );">5 Elements Energy Efficiencies (BVI) Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty', window );">Ownership in reporting entity by related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=efoi_YehMeiChengMember', window );">Yeh-Mei Cheng | 5 Elements Efficiencies (BVI) Ltd. | Communal International Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest', window );">Ownership interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_A13DGroupMember', window );">13D Group</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty', window );">Ownership in reporting entity by related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Amount invested</a></td>
<td class="nump">$ 1,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_A13DGroupMember', window );">13D Group | James Tu Through Fusion Park LLC</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Amount invested</a></td>
<td class="nump">580<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_A13DGroupMember', window );">13D Group | Brilliant Start Enterprise, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Amount invested</a></td>
<td class="nump">$ 500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_CommunalMember', window );">Communal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty', window );">Ownership in reporting entity by related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_CommunalMember', window );">Communal | 5 Elements Efficiencies (BVI) Ltd. | Communal International Ltd.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>Related Party Transaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest', window );">Ownership interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Related Party Transactions, Ownership in Reporting Entity by Related Party</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>efoi_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage investment held by the managing member or general partner of the limited liability company (LLC) or limited partnership (LP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 272<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6373374&amp;loc=d3e70478-108055<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of transactions with related party during the financial reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39603-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAmountsOfTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=efoi_A5ElementsGlobalAdvisorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=efoi_A5ElementsGlobalAdvisorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=efoi_A5ElementsEnergyEfficienciesBVILtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=efoi_A5ElementsEnergyEfficienciesBVILtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=efoi_YehMeiChengMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=efoi_YehMeiChengMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=efoi_FiveElementsEfficientiesBVILtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=efoi_FiveElementsEfficientiesBVILtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=efoi_CommunalInternationalLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_OwnershipAxis=efoi_CommunalInternationalLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_A13DGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_A13DGroupMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=efoi_JamesTuThroughFusionParkLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=efoi_JamesTuThroughFusionParkLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=efoi_BrilliantStartEnterpriseInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=efoi_BrilliantStartEnterpriseInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_CommunalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=efoi_CommunalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006833508568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Supplementary Financial Information to Item 8. (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2021</div></th>
<th class="th" colspan="2"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly Financial Information Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Net sales</a></td>
<td class="nump">$ 2,405<span></span>
</td>
<td class="nump">$ 2,749<span></span>
</td>
<td class="nump">$ 2,074<span></span>
</td>
<td class="nump">$ 2,637<span></span>
</td>
<td class="nump">$ 3,746<span></span>
</td>
<td class="nump">$ 5,964<span></span>
</td>
<td class="nump">$ 3,335<span></span>
</td>
<td class="nump">$ 3,783<span></span>
</td>
<td class="nump">$ 9,865<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">$ 16,828<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">189<span></span>
</td>
<td class="nump">563<span></span>
</td>
<td class="nump">393<span></span>
</td>
<td class="nump">553<span></span>
</td>
<td class="nump">1,434<span></span>
</td>
<td class="nump">1,376<span></span>
</td>
<td class="nump">1,343<span></span>
</td>
<td class="nump">1,032<span></span>
</td>
<td class="nump">1,698<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="nump">5,185<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (2,631)<span></span>
</td>
<td class="num">$ (1,140)<span></span>
</td>
<td class="num">$ (2,473)<span></span>
</td>
<td class="num">$ (1,642)<span></span>
</td>
<td class="nump">$ 65<span></span>
</td>
<td class="num">$ (1,165)<span></span>
</td>
<td class="num">$ (4,340)<span></span>
</td>
<td class="num">$ (541)<span></span>
</td>
<td class="num">$ (7,886)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="num">$ (5,981)<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net loss per share, basic (in dollars per share)</a></td>
<td class="num">$ (0.50)<span></span>
</td>
<td class="num">$ (0.22)<span></span>
</td>
<td class="num">$ (0.59)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="num">$ (0.35)<span></span>
</td>
<td class="num">$ (1.36)<span></span>
</td>
<td class="num">$ (0.18)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net loss per share, diluted (in dollars per share)</a></td>
<td class="num">$ (0.50)<span></span>
</td>
<td class="num">$ (0.22)<span></span>
</td>
<td class="num">$ (0.59)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="num">$ (0.35)<span></span>
</td>
<td class="num">$ (1.36)<span></span>
</td>
<td class="num">$ (0.18)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract', window );"><strong>Weighted average shares of common shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
<td class="text">&#160;<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"></td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">5,312<span></span>
</td>
<td class="nump">5,086<span></span>
</td>
<td class="nump">4,211<span></span>
</td>
<td class="nump">3,612<span></span>
</td>
<td class="nump">3,491<span></span>
</td>
<td class="nump">3,308<span></span>
</td>
<td class="nump">3,192<span></span>
</td>
<td class="nump">3,086<span></span>
</td>
<td class="nump">4,561<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">3,270<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">5,312<span></span>
</td>
<td class="nump">5,086<span></span>
</td>
<td class="nump">4,211<span></span>
</td>
<td class="nump">3,612<span></span>
</td>
<td class="nump">4,307<span></span>
</td>
<td class="nump">3,308<span></span>
</td>
<td class="nump">3,192<span></span>
</td>
<td class="nump">3,086<span></span>
</td>
<td class="nump">4,561<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">3,270<span></span>
</td>
<td class="fn" style="border-bottom: 0px;"><sup>[1]</sup></td>
</tr>
<tr><td colspan="13"></td></tr>
<tr><td colspan="13"><table class="outerFootnotes" width="100%"><tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</td>
</tr></table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.0.1</span><table class="report" border="0" cellspacing="2" id="idm140006843380200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Schedule of Valuation and Qualifying Accounts (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">Allowance for doubtful accounts and returns</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Beginning Balance</a></td>
<td class="nump">$ 8<span></span>
</td>
<td class="nump">$ 28<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to Revenue/ Expense</a></td>
<td class="nump">6<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Ending Balance</a></td>
<td class="nump">14<span></span>
</td>
<td class="nump">8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember', window );">Inventory reserves</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Beginning Balance</a></td>
<td class="nump">2,894<span></span>
</td>
<td class="nump">3,518<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to Revenue/ Expense</a></td>
<td class="nump">281<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions</a></td>
<td class="nump">125<span></span>
</td>
<td class="nump">624<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Ending Balance</a></td>
<td class="nump">3,050<span></span>
</td>
<td class="nump">2,894<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember', window );">Valuation allowance for deferred tax assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Beginning Balance</a></td>
<td class="nump">16,363<span></span>
</td>
<td class="nump">14,390<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charges to Revenue/ Expense</a></td>
<td class="nump">2,568<span></span>
</td>
<td class="nump">1,973<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Ending Balance</a></td>
<td class="nump">$ 18,931<span></span>
</td>
<td class="nump">$ 16,363<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>efoi-20211231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2021"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:efoi="http://www.energyfocusinc.com/20211231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="efoi-20211231.xsd" xlink:type="simple"/>
    <context id="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2505d1231c054af68152871f25cdc3b6_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id9af257477b045dca6a2ad843661d293_I20220314">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2022-03-14</instant>
        </period>
    </context>
    <context id="i9f73e56b185c477d9990315664de9839_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i902bade71e834f7f9e25997670e249f2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i38203ad2c81042c4b1b2fdb3f8f3a670_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id1ac25d149444ee287749c98e0efe20e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:PaycheckProtectionProgramCARESActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iab55c9ddfbf9402794375053f04bf6d6_D20200611-20200611">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-06-11</startDate>
            <endDate>2020-06-11</endDate>
        </period>
    </context>
    <context id="i8ef81b3ca36b41809c79c3c111f3456a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="icf7a14f576aa403e94247f76aa988127_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i340d2f1f76594807a4612967e77b7291_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib6e8961ff3f14e2b9b409b88df491ee2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib7366f7047d14decbef4dfff758cf7bb_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3294dbcf1a9747dba52da6a9462883b6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i72719563d6db4b70a95de40fd93ff04a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie520b8b405e5481387ba54e5b500f9f4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i87666b90c1c04d669f2fa874ee6b3f79_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic31fb516724d43d1baa73cedc622327c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icfe60ea5641440fab5d2ba8a7f2645ad_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1cea56881a1c4785a365970521e4ea85_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4b0ef40e853240b8b95a961497447f9f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i422747c982534d28a362d90cf69b7e63_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i882e9c4100b44768a47a2784cd216341_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idceb843113eb4a09bb5e73a319505fc7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idaf1a359762d42a7947ac5132fa0fded_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id03c813faedc4eb9967f598bf8ea7631_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic01f4600ec4648a890468d6db78dea46_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0a0e1efc24584ca39b34989185b54eaf_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic14783271a45468f8a86cd80f079cf4f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifbdf5c17ad2e4fab8e1954d40724373c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8533402d2c1f449eb1b4847fd40069a5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i235af9e1c854468da093d2b9cd1f5fcf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4e01fb1d663d42b7b2a159a9b0386fa0_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i038a23f2db1b46c798a804a5f3b676e3_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:CreditFacilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie2817b214aa947fba6bab10126e1aafd_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:CreditFacilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic249ccc056a54e059981014f4c4ecdf6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i799339feb3544dceb3651c859ca2431e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7b7959442e0044c7bf32dc7c77a11824_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iaf95a417971c4d3c9fcaf6869f7c9de2_D20211216-20211216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-16</startDate>
            <endDate>2021-12-16</endDate>
        </period>
    </context>
    <context id="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4ac6002703434a738c92731a1f8c20a4_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i9eb363c6d5c64b9cab13bd8c2ac85bb5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0bc7e1aeb5a14658bf73734e7e6794b3_D20200101-20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="i3169c47cfb674c598921b21ae201beb2_I20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="ibd4491c4aa0242a08978313e98355d75_D20200101-20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i51fd134972bb49a29fb470ad962be792_I20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="i22379ce6d882415580b9a3b1a8bb4ca4_D20200101-20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="i22825782b9084bab96299f33f2d30063_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8628db2e2b61425aaaf641132a92d948_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6d86f65a6e1049119ca2876d0ea6c6ad_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iea9fe4df11ca499a8ed5718af6f1e6ee_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie92b82ead9a141f68ef7e1ffd7d22e96_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1c8d1606a0b54635845b6602cc900d7f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i131e048a20ad40778e3bce72ff3d1b56_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0407c3454dac466ca692bb5dc373440a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia1f1d99e13ce4b0697ca14182754b38e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i430f40cd8f324015a412199f2462e875_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:RegionalCommercialLightingRetrofitCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i059b76e018c940078a5686b2fb857398_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToUSNavyCombinedWithSalesToShipbuildersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7f0fe993784145da9226d0e3ffd78d90_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:TwoCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i750376cb794d4c869109479015bc1a33_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToUSNavyCombinedWithSalesToShipbuildersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iabe6066483d745a2bd8e4f16c03bf3b7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheUSDepartmentOfDefenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia5de75883c284563a1fe3cb2a32a6e23_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id9434a3a42e644eca2f69a6961ae8ca6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:DistributorToTheU.S.NavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8b096b5651cb4df5b30716792f78998e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">efoi:ShipbuilderForUSNavyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie788230b50704df49443496aa5725919_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4f13a84e600a41808ea8c940ed89de00_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9c856b90ccdc4e89ad30b2395e7e5e37_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i13186d1aaba445bab2d696ef4e0223a1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">efoi:TotalExpendituresMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:DomesticSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ifb7a33f31fd04106b33a21451801ada5_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsPayableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:SupplierConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis">efoi:OffshoreSupplierMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i851a20cb6a754010b44d41cba9df3b6b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3fbe33cd32d64414882b5052c8bd62be_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i319c417e94584500bb7d1a95d51fd093_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i00ac08bc45774af7ad03fee20400dd3a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i092a353c26434c8a888f1bd3a1182154_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ice32535f03564e3d869fac3c20a1c3df_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i877ebdf9d9af4a11bcb87fcd0e945fec_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i04674e58b0b14cf5915e47948cc01120_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMLEDProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i700751e2c80249fdbe411f0a8747e874_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:MMMLEDProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib47a6ee10bab469bbc27f70f2ce480f9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:CommercialProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ice3846147ce9423db3213acaebf98e4a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:UVCDProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i800518c1883d4905a5552a07727bde63_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:UVCDProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1f183382bd22428686ea1fa5147a3e6f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie6d79369f8f64d7cba3d0cf5de8cfef7_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i747d342d210044ef81641e7032d98e51_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if144a899302d4dcc9da1823f257a72cf_D20210401-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i196a60521c374b1ea5e71538354bd9d1_I20200830">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2020-08-30</instant>
        </period>
    </context>
    <context id="ie36d68bd24994a9e9a48cb302763ddf6_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i934acbda7dce4fddb89c86f36d649885_D20201201-20201201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2020-12-01</endDate>
        </period>
    </context>
    <context id="i04b49d9af60b4a0a9c54c1686dbdd119_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if5281ca33d254ea6b9e23dc243594e60_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idcee913e5d52496d95fb8ce3745843b9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="icea611e5206a4ce78ce5ee2a8b2c13fd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6ceeeb23d2d6497abef9745a8814bbf7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id814784061ac4a46984cf3f29d9a438f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6da946e795d64529bc7527c406643abb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i770bea7c0bae458ba2a98bf0dbfe09e5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:ToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i828edd52de644b00a33a5b9030584c28_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iaaf77b8a9a2e4947b75814bf3242bc10_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1a550296d7fc4121afc74313bee95cb2_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i118bc3bb13964ac4b9cea47abba4b282_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i356a742a941f45e9bc0f90a24c395a99_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i031edd6bc9404d78bacb8baf3cca4853_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i90eca37a50ac489eb820c95b38510276_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0d01182fd3b0465497d99db07a0a6d1c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="idc6c6b34a234420090941dcab81b2038_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i60afced28e3f497d8613e800ef100c20_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie9446ba647a3420b8f72b25fdc46b820_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia7d1fd0e3e6542f9a83b81c1e7e02054_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:RobotsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0ce591d99bf1425bb32dbc34f1364feb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:RobotsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iad78534a538542d8bdc1491b840f56c5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">efoi:RobotsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifc36b978a9b248a1855fffbee6b000e6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3927acf6355a420ea1726db2feabe97c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idaf6193742c24231b85ad8babc0de26d_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="i7bc6737d86504e67a275d08b8de258c3_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="i5e1b54f4de2e455b8122f9e0fcefd992_I20210420">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-20</instant>
        </period>
    </context>
    <context id="ie8e84d2e1cca4d5fb6ff11993e3e0f78_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="i0043711a97a341c397ab0096699560a4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if5cbdfeed99e46598f3f5d1461b11ab7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i58f196ecff6b46eea4a57dec22f48cda_D20200811-20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-11</startDate>
            <endDate>2020-08-11</endDate>
        </period>
    </context>
    <context id="i7a5e71e587f74bc4b89768f2c2db2f25_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iab91bc451ca94b2180935128724b06d5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:InventoryFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i67be18c3172a41a8847ae518d3a1cdd9_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="i4597721858924a03be6c0c147231d8ec_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">efoi:WallStreetJournalHighestPrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1fede1b9f5c44ee4996d1809dea254bb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">efoi:WallStreetJournalHighestPrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9831e7a6aa584250a1fcd1383c52f824_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4db6a51dd4eb466c96b4891040f242ac_D20200811-20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:ReceivablesFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-11</startDate>
            <endDate>2020-08-11</endDate>
        </period>
    </context>
    <context id="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-11</startDate>
            <endDate>2020-08-11</endDate>
        </period>
    </context>
    <context id="i84bf5ea448374dcda80f3febd9ce79d8_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="ic9db06faf1024e7a9f0736ed8807b507_D20200811-20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-11</startDate>
            <endDate>2020-08-11</endDate>
        </period>
    </context>
    <context id="ibe5ff5c5b9b74855ae743afcbd43e396_I20200811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:AustinFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-11</instant>
        </period>
    </context>
    <context id="if964e91e61a049199762807497f4fe6d_I20210427">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-27</instant>
        </period>
    </context>
    <context id="id4197631807248e6a15b736ef527f10d_D20210427-20210427">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-27</startDate>
            <endDate>2021-04-27</endDate>
        </period>
    </context>
    <context id="ice26cbede5f042ffae76128fc6be5638_D20210427-20210427">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-27</startDate>
            <endDate>2021-04-27</endDate>
        </period>
    </context>
    <context id="i773fb6b2d0a9406daa2a2e9864b7b65f_D20210427-20210427">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentRedemptionPeriodAxis">us-gaap:DebtInstrumentRedemptionPeriodTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-27</startDate>
            <endDate>2021-04-27</endDate>
        </period>
    </context>
    <context id="ib99d645c15c4437bad8769b7f7178def_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:StreetervilleNotePurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if96f463cbc104c67bd5c475b229d0070_D20200417-20200417">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:PaycheckProtectionProgramCARESActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-17</startDate>
            <endDate>2020-04-17</endDate>
        </period>
    </context>
    <context id="idda38c33d24c4b43a1f381624845675c_I20200417">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:PaycheckProtectionProgramCARESActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-04-17</instant>
        </period>
    </context>
    <context id="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:PaycheckProtectionProgramCARESActMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i90c085f859574bfebac847d55bbc3e34_I20191125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-25</instant>
        </period>
    </context>
    <context id="ib1e15e5d401847fdbcb7b4b5bae128d9_D20191125-20191125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-25</startDate>
            <endDate>2019-11-25</endDate>
        </period>
    </context>
    <context id="ide56ed12b20d48d9b4d94f428ba486bf_D20201201-20201201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2020-12-01</endDate>
        </period>
    </context>
    <context id="ie16f6e9c23a64c85a13cf785e1723ae8_D20191125-20191125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">efoi:IliadNotePurchaseAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-25</startDate>
            <endDate>2019-11-25</endDate>
        </period>
    </context>
    <context id="icdcfe2637deb4eb98cdaa89aec70b7f3_D20190329-20190329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-29</startDate>
            <endDate>2019-03-29</endDate>
        </period>
    </context>
    <context id="i48990753270143b197bba2add072416d_D20190329-20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-29</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="ic344ceb0ca0f42c3b01d4208ea00d26e_D20190701-20200116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2020-01-16</endDate>
        </period>
    </context>
    <context id="i347725a8decd4d1faca9cdf4f24912dc_I20200116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-16</instant>
        </period>
    </context>
    <context id="i6b533f191bba46238f4755579bff014b_D20200116-20200116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-16</startDate>
            <endDate>2020-01-16</endDate>
        </period>
    </context>
    <context id="i5f579cbb1c984446a8eb1c108e231de1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1ce2ebfacfc44de5aa6097399cebb658_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iaa5b42f29fe84c538a08e2001f41f572_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i059252fc965140ddb0415c20605988f6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0d6ab6cb7de94ed9a7277e48db2a6d3f_I20190329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-29</instant>
        </period>
    </context>
    <context id="ie67bfb806db345368ab13b6a42410e59_I20200115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-15</instant>
        </period>
    </context>
    <context id="ifbc5784ca5f748d4bf1bdaa88d8133ad_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id704b55736834b05bf98ea790e0fe70e_D20220401-20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="ib457b7bb5a51461d809fe2b17feafe57_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib10c54b935054c1887fe2263e2811bef_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">efoi:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:December2021PrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if45ec14e9ce748d5b1610444fdeb4d51_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">efoi:FusionParkLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ice689795aade4dbcb35b5c7de8b74255_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">efoi:BrilliantStartEnterpriseInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i039b65941c61462bb4170186675a9752_I20200115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <instant>2020-01-15</instant>
        </period>
    </context>
    <context id="i8da533426d38478db66b1164a4ea4e2d_D20200116-20200116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-01-16</startDate>
            <endDate>2020-01-16</endDate>
        </period>
    </context>
    <context id="i0b61d3a9fe984b6a9d1b2ff8efa7f893_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:InstitutionalInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i149c27d4dc1e4b969f84c426a927615e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i71cce42cc1484ca4b4f4cd609827ebd4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">efoi:January2020EquityOfferingPrivatePlacementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i65b971ea9cb44fb1888185cc19c4389b_I20200318">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-18</instant>
        </period>
    </context>
    <context id="i387ac9a58bdc4026beffdfb1ef037acc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7bacc12348f04b6b82d1e7cf2cc8522a_I20140506">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-05-06</instant>
        </period>
    </context>
    <context id="ie730505241d0471ab9e4023d57877882_I20150722">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-07-22</instant>
        </period>
    </context>
    <context id="i07c496a5a92a442992762b34c8bacd5a_I20170621">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-06-21</instant>
        </period>
    </context>
    <context id="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib33883051e4946f8b1969f231753015f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">efoi:EmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia925f79fe3284c5f925333ca8b9f3106_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">efoi:EmployeeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iac0e4d7075a24ca4b7b32fc505ef4218_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">efoi:NonEmployeeDirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7530d5d0a4b940f8a3fee319d6c0119c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i46e851f19f78458995019a8807d5fab2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i28e104dced94438ca18c6fb5046f60d6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0b262df8d9b345bb978f20a584580126_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iebf94b633dc7494fb3a642b04e637101_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0c87840ee3e94c09a9151682c9375c17_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i33ae864acc864d8381b7945d803c40b2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i361a0747e00b4bdca00c2cd4f646d038_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3306e536994743e4b413b7eb48ec9a95_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i503a2e63e2254386855de34f02484867_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i58c0cbc5622644c099d0a66e73a0c7cb_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic57470dbd9284ff19748ce19ff94496c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3a34278eca8f4d409ee893f500388134_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i593f0909b228451192e79880916a76ca_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifc072047745247858635e57c5e101cbb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8574cf31460f42c09befbf3d94ba95f7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">efoi:ExercisePriceRangeFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9506043790a7411eb586f638e58fde5b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4ff91b791919436d91bf7fecc7a86b8a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifa72da35d76c4072bd7c10aefee57afc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iec1f52178f0f4af09a01c9fc1a1d457d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">efoi:Plan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i683a1c383f14479db04e359bb44dc770_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3db4a53ab94249ca8f416d280f4a7609_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i03d191cfe7f3499ea2b10ffec28cef54_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7798c1a139c1494fa683aabbf81de26c_I20130930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2013-09-30</instant>
        </period>
    </context>
    <context id="id20d8b5e532d4b51a9331cef0c3ea1d0_D20130901-20130930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-09-01</startDate>
            <endDate>2013-09-30</endDate>
        </period>
    </context>
    <context id="i6f50781bec45435f94e2ce7929208a72_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6c1fd4cb5b294dc4831cd60414588dd6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icd21d751952249369a1a2bdefc377188_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis">efoi:EmployeeStockPurchasePlan2013Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1f2d9a1ca0ff499ea1c3689f9f2e0d62_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9f4bc6ef38584874b2d78022102d531b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i197c0fe1384549c487b81bb905620e44_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:PoolAndCommercialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic27dfd50f8b84336b419cf442767ca39_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:PoolAndCommercialProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2024eff72edb40b08a2872fd9afd83d5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:GovernmentProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1fb4bf01d859465d8a9690b5cade977c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">efoi:GovernmentProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7f06ae07d18848d594df88fe8d7cfc70_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i19b5439904b14b289663730383e53ff1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic0151d79c4bd4aeaaf6a11c9700dd978_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">efoi:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic1dbd62a77f24cddafa39b3a5a30bb06_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">efoi:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i6ea6a13dafe14b18bb11f171d6eb7e1c_I20190226">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:A13DGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-02-26</instant>
        </period>
    </context>
    <context id="i226fbb921c5e485897c159bb7db6a1cb_D20190329-20190329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:A13DGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-29</startDate>
            <endDate>2019-03-29</endDate>
        </period>
    </context>
    <context id="idb9ed717b0a243c7a5b4ae753cb534c9_D20190329-20190329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:A13DGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:JamesTuThroughFusionParkLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-29</startDate>
            <endDate>2019-03-29</endDate>
        </period>
    </context>
    <context id="i986b7a0a4ce8436295fd5285a858a2bd_D20190329-20190329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:A13DGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:BrilliantStartEnterpriseInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-03-29</startDate>
            <endDate>2019-03-29</endDate>
        </period>
    </context>
    <context id="i3a6e6795461743609682ffcb8cd1e3d5_I20140731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:CommunalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-07-31</instant>
        </period>
    </context>
    <context id="i0501a64963994dacaa526c0a82bd81fc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:A5ElementsGlobalAdvisorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6a84b900816b4ec9bd7cbf5ab67a988b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">efoi:CommunalInternationalLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">efoi:FiveElementsEfficientiesBVILtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">efoi:CommunalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i914dbf01dccc4cf7abc5b14cc72557fb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:A5ElementsEnergyEfficienciesBVILtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7fb52740cc5440e382b6587a44a17e81_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">efoi:CommunalInternationalLtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">efoi:FiveElementsEfficientiesBVILtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">efoi:YehMeiChengMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="if2ea2c631b17474591d4019659a314e9_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i470ca8126ea5433aac9f7fd8d9230dee_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1d09896c5d3b4ce58068613148679676_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie92beb8db1b545eeb8bbf34cc5773ff2_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibbb909451be248a9bcaddb97d16202e1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie77f47dfbdcd46db90c7b9abb87be007_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i20a0302f7a374d1a851c7f5612e3df06_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4980c7cd73064cf6a9d691510a59cbd5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i38e69ad7c47941cabf512c28ed20f43f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9863b9679558410ea32d213fa97f7d72_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i15d2a29dd4644d06a4ed9d981c8d9103_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie497d4f6ca9a484a9b70f2ccbb3e8858_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i88c89f77bc274c40b39391a664b32bbc_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="idedbae9094ff4b0ea730fbda6bad71a2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7073a92a6cda4479b4673e4cc22f0277_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib2500e9c4f1241b791b32c557a343941_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000924168</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="creditfacility">
        <measure>efoi:creditFacility</measure>
    </unit>
    <unit id="deferral">
        <measure>efoi:deferral</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV8zLTEtMS0xLTA_861a46ee-9ae3-43ff-962b-2c71b1421879">0000924168</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV80LTEtMS0xLTA_98dbc4a7-39c0-4d32-9839-412e2614c36a">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV81LTEtMS0xLTA_f0da5c05-99ef-45a9-8459-8e34d33f86c1">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV82LTEtMS0xLTA_6a2ce787-31f4-4ca7-887b-37911e072eae">false</dei:AmendmentFlag>
    <dei:EntityRegistrantName
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl80L2ZyYWc6MDczMTM1ODQ4MGM3NDdkZDgxM2MyZWZjNTg5MTIzZGIvdGFibGU6OTY4MDM0ZTVkNTc5NGY3ODkxODI1MzQ3ODg2ZDFiZDUvdGFibGVyYW5nZTo5NjgwMzRlNWQ1Nzk0Zjc4OTE4MjUzNDc4ODZkMWJkNV83LTAtMS0xLTA_c38dafd4-5dcc-44f2-809b-3fea3ccdbd86">ENERGY FOCUS, INC/DE</dei:EntityRegistrantName>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="iab55c9ddfbf9402794375053f04bf6d6_D20200611-20200611"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODc0L2ZyYWc6MzJlN2IwMDUwM2U4NGM5YmIxMjU4NDIxYWRmMWJhYmQvdGV4dHJlZ2lvbjozMmU3YjAwNTAzZTg0YzliYjEyNTg0MjFhZGYxYmFiZF8yNzQ4Nzc5MDY5NDgw_585adaae-12c1-41a8-857c-9e39b6ac219d"
      unitRef="number">0.2</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i1c8d1606a0b54635845b6602cc900d7f_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDA5_a382e080-4adf-47d2-b9ae-c9ef896c4927">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="i877ebdf9d9af4a11bcb87fcd0e945fec_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f2241f38-2999-4d07-a4c3-3f46b21079ae">P5Y</efoi:StandardProductWarrantyNumberofYears>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="i04674e58b0b14cf5915e47948cc01120_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f99b5010-37ff-40ae-9fe5-83566fecd2e0">P5Y</efoi:StandardProductWarrantyNumberofYears>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="ice3846147ce9423db3213acaebf98e4a_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1Mjk_fbbd22c1-2b2b-46a1-8c5e-8410f2bdbbb7">P1Y</efoi:StandardProductWarrantyNumberofYears>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib33883051e4946f8b1969f231753015f_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTY4_e102dd0f-9627-4c4e-9b7d-2411cb446505">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i503a2e63e2254386855de34f02484867_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDc1_49d4c02d-9dbd-42f5-ad55-56f087c1ed05">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i9506043790a7411eb586f638e58fde5b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM1Mzc_8eee0c28-5471-4cde-b3a5-86abeeb1b29b">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ifa72da35d76c4072bd7c10aefee57afc_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTQzMjU_2fa0f6e2-9267-4bc0-b4a7-1cbd6cb9c397">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="iab55c9ddfbf9402794375053f04bf6d6_D20200611-20200611"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODY3L2ZyYWc6M2FmNWY5ZTgyNDk0NDRhMWE1MWY5NzQ0NjAzZDExZTYvdGV4dHJlZ2lvbjozYWY1ZjllODI0OTQ0NGExYTUxZjk3NDQ2MDNkMTFlNl8yNzQ4Nzc5MDY5NjM4_eeec9f73-9271-4309-be51-7c73cd2bb8da"
      unitRef="number">0.2</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <dei:DocumentType
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjAy_2352baea-0da4-4247-a328-4fb735efab14">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6ZmIyZmJlYWU3MTE4NDE3MjllYTIyZDBmZWQyOTAxYzkvdGFibGVyYW5nZTpmYjJmYmVhZTcxMTg0MTcyOWVhMjJkMGZlZDI5MDFjOV8wLTAtMS0xLTA_d9a1a7b1-8488-4d7e-9fca-6480aaec7876">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8xMTU_aaf22024-b804-4b70-8814-47929d5e028c">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8xMTU_99adaf56-2c65-4d88-87f9-7379bab92e0a">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWY3OWExMzg5Y2EwNDBlZTk4YTc4NjkzNjI3YWUwYjUvdGFibGVyYW5nZTphZjc5YTEzODljYTA0MGVlOThhNzg2OTM2MjdhZTBiNV8wLTAtMS0xLTA_b6b6cf8a-7882-4ef3-9f63-e88a5c63f955">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjA3_b0337da8-9c8a-4a13-bf9f-068042a1ff2e">001-36583</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YjZiZjZhNmNjNzQxNDY4OThkNTNkMGFjNzRmM2E4OWUvdGFibGVyYW5nZTpiNmJmNmE2Y2M3NDE0Njg5OGQ1M2QwYWM3NGYzYTg5ZV8wLTAtMS0xLTA_91e689e8-8b68-417d-9008-2971aa052fe9">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YjZiZjZhNmNjNzQxNDY4OThkNTNkMGFjNzRmM2E4OWUvdGFibGVyYW5nZTpiNmJmNmE2Y2M3NDE0Njg5OGQ1M2QwYWM3NGYzYTg5ZV8wLTItMS0xLTA_c274715b-ef2b-4ae4-83c6-ee6834635ae6">94-3021850</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjEx_0f4c4696-e344-4ed0-9846-0ef0d930ce73">32000 Aurora Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjEy_e56718e3-c972-4380-91ff-763e88295dbb">Suite B</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjE2_1c35797f-973a-4461-a7f1-dc9879e5deb9">Solon</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjA1_2e5f5c04-bbaa-4855-b3e7-115985dde9c5">OH</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMzA_8f59206b-2b43-4953-9dc8-397252473f7d">44139</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF80NDg_7bfa08bd-5c7d-4217-87f6-19e091798162">440</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF80NTE_a1c6b433-5da3-43ef-b0a9-0b04e2e74a83">715.1300</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWUyY2U0ZmU2YzI1NDc0OGEwZjc0NGM4YmE5ZTkyNDIvdGFibGVyYW5nZTphZTJjZTRmZTZjMjU0NzQ4YTBmNzQ0YzhiYTllOTI0Ml8xLTAtMS0xLTA_d2b08dd9-36a1-41e1-8687-dbd91c6de0e0">Common stock, par value $0.0001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWUyY2U0ZmU2YzI1NDc0OGEwZjc0NGM4YmE5ZTkyNDIvdGFibGVyYW5nZTphZTJjZTRmZTZjMjU0NzQ4YTBmNzQ0YzhiYTllOTI0Ml8xLTEtMS0xLTA_6eedf4bd-5b21-4c99-8838-d84e85db5d60">EFOI</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWUyY2U0ZmU2YzI1NDc0OGEwZjc0NGM4YmE5ZTkyNDIvdGFibGVyYW5nZTphZTJjZTRmZTZjMjU0NzQ4YTBmNzQ0YzhiYTllOTI0Ml8xLTItMS0xLTA_271f6095-ed6d-4edc-8b06-ddd80b818b80">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjEz_5d56bcae-fb87-47c2-8470-ca1b6b40f19d">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjE3_43cc4085-8407-4cc8-9616-4af811b1f234">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjE4_f08183d6-3c81-40e4-b0d1-d638bda55dfe">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjA2_c2e2ead3-d196-44ff-9263-974f8931578d">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWY3OTg5ZDQzNmQyNGEzN2E3ZjdkMTY5MDZiZjRkMjIvdGFibGVyYW5nZTphZjc5ODlkNDM2ZDI0YTM3YTdmN2QxNjkwNmJmNGQyMl8xLTAtMS0xLTA_504e8372-2f08-4e32-86d5-5c0c323eb5d0">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWY3OTg5ZDQzNmQyNGEzN2E3ZjdkMTY5MDZiZjRkMjIvdGFibGVyYW5nZTphZjc5ODlkNDM2ZDI0YTM3YTdmN2QxNjkwNmJmNGQyMl8xLTMtMS0xLTA_9a1eb7a7-9aba-4f32-be30-56b8f1b95acc">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGFibGU6YWY3OTg5ZDQzNmQyNGEzN2E3ZjdkMTY5MDZiZjRkMjIvdGFibGVyYW5nZTphZjc5ODlkNDM2ZDI0YTM3YTdmN2QxNjkwNmJmNGQyMl8yLTMtMS0xLTA_661e9fd5-ab23-42e4-b554-1a2c6c18af86">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjE5_eb0087b1-4e85-4ab6-9629-7224308d23fa">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjAx_a5b7cecd-64c7-41d7-84ce-6ed614f4c398">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i2505d1231c054af68152871f25cdc3b6_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8yNzE5_d5c12e71-ae61-495e-978b-2d34d655ce12"
      unitRef="usd">17100000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="id9af257477b045dca6a2ad843661d293_I20220314"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8yOTM0_31f2a19b-5798-4013-b800-354178bfd85c"
      unitRef="shares">6453777</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xL2ZyYWc6YjZkNDQxNjIzZTg1NDc3Mjg1MmQ3OTczYTlmNjNjOTAvdGV4dHJlZ2lvbjpiNmQ0NDE2MjNlODU0NzcyODUyZDc5NzNhOWY2M2M5MF8zMjA5_bd137dfc-6d9f-4414-b321-2735bb48c7e1">Portions of the definitive proxy statement to be filed with the Securities and Exchange Commission relative to the registrant&#x2019;s 2022 Annual Meeting of Stockholders are incorporated by reference into Part III of this Report.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMTUvZnJhZzozNTA0OTA1ZDA2MDI0YWRjYWMxZGYyM2YwY2JkODFmYi90YWJsZTozOWNmN2FkMmFmODM0NDkxOWNlYjUxMWM0Yjk0YWVhYS90YWJsZXJhbmdlOjM5Y2Y3YWQyYWY4MzQ0OTE5Y2ViNTExYzRiOTRhZWFhXzEtMC0xLTEtNDUxOTkvdGV4dHJlZ2lvbjo5YjQyY2U5ZTk1MmY0YTE0OWRhNDVhNjE2MzRjMDdkZV8xMDk5NTExNjI3ODU2_53356257-cc7d-4546-9f93-cdcc4afc403e">1808</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMTgvZnJhZzo1MDE2NmI4YmM1MTE0M2M1OTNjYTlmYjRkMmMxMTg4ZC90ZXh0cmVnaW9uOjUwMTY2YjhiYzUxMTQzYzU5M2NhOWZiNGQyYzExODhkXzI3NDg3NzkwNzY4Mzg_eae395fb-931d-4777-be2a-c1cfad8278c7">GBQ Partners, LLC</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMTgvZnJhZzo1MDE2NmI4YmM1MTE0M2M1OTNjYTlmYjRkMmMxMTg4ZC90ZXh0cmVnaW9uOjUwMTY2YjhiYzUxMTQzYzU5M2NhOWZiNGQyYzExODhkXzI3NDg3NzkwNzY4Mzk_0a0fa50d-753f-4dcb-a0aa-e50fcf33372d">Columbus, Ohio</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMtMS0xLTEtMA_2cb1c40f-3ec4-4526-94e3-ab4be73d2731"
      unitRef="usd">2682000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMtMy0xLTEtMA_0fdf091c-b731-4a63-9d7e-80fd84993609"
      unitRef="usd">1836000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzQtMC0xLTEtMC90ZXh0cmVnaW9uOmE0NDZkNTMyNTViNzQyNjZiMWI4ZGVlZTRmMzNlN2UxXzUw_b4f0aded-9b25-4d5c-8484-3e2fcee32018"
      unitRef="usd">14000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzQtMC0xLTEtMC90ZXh0cmVnaW9uOmE0NDZkNTMyNTViNzQyNjZiMWI4ZGVlZTRmMzNlN2UxXzU3_9f537f9a-c900-4df1-92fb-1b4640fee50e"
      unitRef="usd">8000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzQtMS0xLTEtMA_088c8615-a7b6-4bc5-9d61-0f79a85b2fe6"
      unitRef="usd">1240000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzQtMy0xLTEtMA_ddad171f-00e0-4ba4-ac9d-75c527ff42f4"
      unitRef="usd">2021000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzUtMS0xLTEtMA_c47638a1-e94f-433a-99ab-1073c801b47c"
      unitRef="usd">7866000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzUtMy0xLTEtMA_e350482c-c707-4a9b-96d5-1594882657c1"
      unitRef="usd">5641000</us-gaap:InventoryNet>
    <us-gaap:DepositsAssetsCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzYtMS0xLTEtMA_9a2d386f-ac63-49d9-aa78-ec6b86895329"
      unitRef="usd">712000</us-gaap:DepositsAssetsCurrent>
    <us-gaap:DepositsAssetsCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzYtMy0xLTEtMA_3c8ed320-6052-4099-beb1-981eb1bf491f"
      unitRef="usd">796000</us-gaap:DepositsAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzctMS0xLTEtMA_1b326999-cc2f-4875-9cae-1b0f6a27601c"
      unitRef="usd">924000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzctMy0xLTEtMA_874f96a3-a751-482d-9b5f-0d22e496b158"
      unitRef="usd">782000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEwLTEtMS0xLTA_1fe8782a-8a1e-4a91-8dce-1257fc1fcecf"
      unitRef="usd">13424000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEwLTMtMS0xLTA_207e937b-040a-440f-89f4-cbc2ba64bddd"
      unitRef="usd">11076000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzExLTEtMS0xLTA_a21101a4-38c1-4695-9d49-354a3b2fb6f1"
      unitRef="usd">675000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzExLTMtMS0xLTA_e7820c81-18ae-4c60-9781-455b2df69af2"
      unitRef="usd">420000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEyLTEtMS0xLTA_f886f319-2d42-4eb3-b349-904520758bcb"
      unitRef="usd">292000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEyLTMtMS0xLTA_bb8f1793-621c-4059-8be1-4e220c7a7445"
      unitRef="usd">794000</us-gaap:OperatingLeaseRightOfUseAsset>
    <efoi:RestructuredOperatingLeaseRightOfUseAsset
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEzLTEtMS0xLTA_1cb633bc-d6b7-4eb0-8c1e-10b81908f544"
      unitRef="usd">0</efoi:RestructuredOperatingLeaseRightOfUseAsset>
    <efoi:RestructuredOperatingLeaseRightOfUseAsset
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzEzLTMtMS0xLTA_b4f7923b-c7e5-4b15-9b64-3a10e348c566"
      unitRef="usd">107000</efoi:RestructuredOperatingLeaseRightOfUseAsset>
    <us-gaap:Assets
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzE2LTEtMS0xLTA_4eb1b09b-4b0c-4849-a82c-935cefd588b0"
      unitRef="usd">14391000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzE2LTMtMS0xLTA_ec60b701-94d1-42b1-aa28-2f0f222b1b74"
      unitRef="usd">12397000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzE5LTEtMS0xLTA_d9c8901a-b66a-4a2f-909c-28112923b440"
      unitRef="usd">2235000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzE5LTMtMS0xLTA_f16b778f-4e0b-438f-92d2-adda2ad34107"
      unitRef="usd">2477000</us-gaap:AccountsPayableCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIwLTEtMS0xLTA_4006135c-8513-4009-a1da-cfa8204a4596"
      unitRef="usd">265000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIwLTMtMS0xLTA_bde7312e-28ef-4a03-adcd-1f4460dbe344"
      unitRef="usd">45000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIxLTEtMS0xLTA_a19284e5-1f4c-4b1e-82d4-ecc42ff5e79c"
      unitRef="usd">104000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIxLTMtMS0xLTA_8741eb7e-c87b-4787-81e9-520c5538570a"
      unitRef="usd">149000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIyLTEtMS0xLTA_065d4020-a348-4931-9dec-3c0b41bfc230"
      unitRef="usd">718000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIyLTMtMS0xLTA_92bf6dbd-b577-413b-b603-9ccf634d22d3"
      unitRef="usd">885000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIzLTEtMS0xLTA_770d3eee-796a-4e87-8a60-284708eefd79"
      unitRef="usd">57000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzIzLTMtMS0xLTA_436e8ea5-4dd2-4ee6-a9b7-aaf2d64b8375"
      unitRef="usd">95000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:RestructuringReserveCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI0LTEtMS0xLTA_7d9f3a3f-e977-4849-9409-1423fbf6e1ad"
      unitRef="usd">0</us-gaap:RestructuringReserveCurrent>
    <us-gaap:RestructuringReserveCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI0LTMtMS0xLTA_6cc6bd2c-5b11-47b9-afc3-8b1d48eb1063"
      unitRef="usd">11000</us-gaap:RestructuringReserveCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI1LTEtMS0xLTA_fe43ab63-048a-46dc-a147-fbd948486e83"
      unitRef="usd">295000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI1LTMtMS0xLTA_e4ec85a8-0d3c-4ea1-b317-717123d5558f"
      unitRef="usd">227000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI2LTEtMS0xLTA_7b31a599-bdea-4c25-9756-7105cb2d0f6f"
      unitRef="usd">268000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI2LTMtMS0xLTA_42d8c0cc-6b06-4ca7-99eb-51a26caa82da"
      unitRef="usd">72000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI3LTEtMS0xLTA_101788d2-cb13-43f9-b977-421e53344d14"
      unitRef="usd">325000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI3LTMtMS0xLTA_a77d1806-a92d-439b-8b98-dc7d3d369454"
      unitRef="usd">598000</us-gaap:OperatingLeaseLiabilityCurrent>
    <efoi:RestructuredOperatingLeaseLiabilityCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI4LTEtMS0xLTA_17992a9c-58fa-4595-b053-0feb62eae49b"
      unitRef="usd">0</efoi:RestructuredOperatingLeaseLiabilityCurrent>
    <efoi:RestructuredOperatingLeaseLiabilityCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI4LTMtMS0xLTA_4e780530-8924-4a72-9a48-8b08c06fef14"
      unitRef="usd">168000</efoi:RestructuredOperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI5LTEtMS0xLTA_b1abbaa1-779e-4d14-aefb-aab45962712e"
      unitRef="usd">1000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzI5LTMtMS0xLTA_ab2dbd7a-6e41-4041-b7f7-a3e6de8bf78f"
      unitRef="usd">3000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:NotesPayableCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMyLTEtMS0xLTA_c6ec46b1-5f83-4867-b7e4-7f37ea053e7f"
      unitRef="usd">1719000</us-gaap:NotesPayableCurrent>
    <us-gaap:NotesPayableCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMyLTMtMS0xLTA_f1cea8f4-1a8f-41c4-9968-1eee77e8f965"
      unitRef="usd">0</us-gaap:NotesPayableCurrent>
    <efoi:PaymentProtectionProgramCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMzLTEtMS0xLTA_73d6668e-91c9-45c7-b135-4f0bd5365ddf"
      unitRef="usd">0</efoi:PaymentProtectionProgramCurrent>
    <efoi:PaymentProtectionProgramCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzMzLTMtMS0xLTA_c7b49e97-f81d-4709-86d1-861a07801a04"
      unitRef="usd">529000</efoi:PaymentProtectionProgramCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzM0LTEtMS0xLTA_17ca2f1b-c089-4891-bb18-696f9b8ce9d7"
      unitRef="usd">2169000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzM0LTMtMS0xLTA_5fb7e261-0c88-48d4-a203-76349aa85633"
      unitRef="usd">2298000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzM1LTEtMS0xLTA_2dc273f1-4dee-444b-b2e6-a51c2d7339ba"
      unitRef="usd">8156000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTo4ZjdhMWIzOTFjNTA0YTEyOWQ5ODRjYWM0NTIwNmQxZC90YWJsZXJhbmdlOjhmN2ExYjM5MWM1MDRhMTI5ZDk4NGNhYzQ1MjA2ZDFkXzM1LTMtMS0xLTA_fd6378a9-229f-4c52-9e41-7e5ac8430023"
      unitRef="usd">7557000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzItMS0xLTEtMA_b6e882aa-9b17-4de7-9e2d-f183fa3e6783"
      unitRef="usd">26000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzItMy0xLTEtMA_92d1108d-923e-4830-9732-a6e8442b598c"
      unitRef="usd">318000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzQtMS0xLTEtMA_0aa2a17c-ffda-40a0-9668-ecc67bf1b0e2"
      unitRef="usd">0</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzQtMy0xLTEtMA_8042723e-f882-4cab-ab99-2f908a0938d2"
      unitRef="usd">1000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <efoi:PaymentProtectionProgramNoncurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzUtMS0xLTEtMA_759a878b-bb67-4eea-98b5-38c5d97d59cd"
      unitRef="usd">0</efoi:PaymentProtectionProgramNoncurrent>
    <efoi:PaymentProtectionProgramNoncurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzUtMy0xLTEtMA_0baae397-f201-4431-8c48-ff751bdc6820"
      unitRef="usd">266000</efoi:PaymentProtectionProgramNoncurrent>
    <us-gaap:Liabilities
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzgtMS0xLTEtMA_be5cfd5e-5f5e-43fc-af32-9a5ee753a751"
      unitRef="usd">8182000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzgtMy0xLTEtMA_e4759061-e0e5-4e81-a707-fe3569bfd1e3"
      unitRef="usd">8142000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEwLTAtMS0xLTAvdGV4dHJlZ2lvbjo4OWZhODE3ZjJkNGU0Nzc1ODI3OTI4MmRmN2IwNzQ2NF8zMQ_9ed5b79c-6c2e-4566-9412-5bf8cf9a7c34"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEwLTAtMS0xLTAvdGV4dHJlZ2lvbjo4OWZhODE3ZjJkNGU0Nzc1ODI3OTI4MmRmN2IwNzQ2NF8zMQ_d6a8435c-dc1c-4d63-ad33-299750fa42fc"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzExLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MmEzMWJmNTY0ZjM0ZWMwYjk4NGNiNTdmMGYwNWJmZV8xNg_52ee5b54-79ed-4911-9722-93b025efead5"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzExLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MmEzMWJmNTY0ZjM0ZWMwYjk4NGNiNTdmMGYwNWJmZV8xNg_f8977c07-47d1-4278-863d-70fef2000855"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i38203ad2c81042c4b1b2fdb3f8f3a670_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzExLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MmEzMWJmNTY0ZjM0ZWMwYjk4NGNiNTdmMGYwNWJmZV8yNw_1f3325a7-0966-4820-a971-87c72dd31be7"
      unitRef="shares">3300000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="id1ac25d149444ee287749c98e0efe20e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzExLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MmEzMWJmNTY0ZjM0ZWMwYjk4NGNiNTdmMGYwNWJmZV8yNw_4ff13fba-4d29-46e6-a6ac-69befa85e395"
      unitRef="shares">3300000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjo1MGEyYzJiZjA3NWQ0OTVlYWM0NjgxM2JiYWJkNmE4Yl8yOA_2251bc5d-f515-4366-9853-757c6dd08152"
      unitRef="shares">876447</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjo1MGEyYzJiZjA3NWQ0OTVlYWM0NjgxM2JiYWJkNmE4Yl8yOA_8996bd1f-f8f2-4e51-8bca-bbb3b620ba5b"
      unitRef="shares">876447</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjo1MGEyYzJiZjA3NWQ0OTVlYWM0NjgxM2JiYWJkNmE4Yl81Ng_1845d473-21c2-423c-a322-a9928441e44d"
      unitRef="shares">2597470</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTAtMS0xLTAvdGV4dHJlZ2lvbjo1MGEyYzJiZjA3NWQ0OTVlYWM0NjgxM2JiYWJkNmE4Yl81Ng_928620a4-ea9b-450f-b26a-24367b59b7ef"
      unitRef="shares">2597470</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTEtMS0xLTA_d8b51593-a073-41db-a2a8-a95e352af702"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEyLTMtMS0xLTA_058e68d2-9dc3-4be7-b553-e616a63bdbab"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEzLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MDkzYTJlYjI4Mjc0MThiODE0MmZlZDI5NDljMDJkMF8yOA_74458553-a1cc-466f-b886-9ddfba0580af"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzEzLTAtMS0xLTAvdGV4dHJlZ2lvbjo3MDkzYTJlYjI4Mjc0MThiODE0MmZlZDI5NDljMDJkMF8yOA_7762a891-96c7-4781-af14-09f7bacecebe"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE0LTAtMS0xLTAvdGV4dHJlZ2lvbjpjNGVkY2FiYjU0ZWU0ZDkxOWMyZjg4ZmU1ZDM0MmQ2Zl8xNg_0614306f-4613-4c8d-b8f4-027a7dcebc2e"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE0LTAtMS0xLTAvdGV4dHJlZ2lvbjpjNGVkY2FiYjU0ZWU0ZDkxOWMyZjg4ZmU1ZDM0MmQ2Zl8xNg_0b697b10-0f57-4c8a-b356-dc5c7df471ac"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF8yOA_729f1a78-b1be-4966-9b51-5d1310b8c24b"
      unitRef="shares">6368549</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF8yOA_feeaa67b-7e0b-4232-9cb7-94bc8806aed0"
      unitRef="shares">6368549</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF81Ng_8c53f8fe-7375-4ac3-9baf-a8eaab72264f"
      unitRef="shares">3525374</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF81Ng_fef64df8-1f2e-4585-89a4-4490387b3c63"
      unitRef="shares">3525374</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTEtMS0xLTA_8a703d42-08e2-49e4-aaa0-f7fae8bbb6ff"
      unitRef="usd">0</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTMtMS0xLTA_00827cc4-c97f-45c1-895c-db90f196aa83"
      unitRef="usd">0</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE2LTEtMS0xLTA_2b80a7e3-a8b1-4c4f-ace5-a92896aef0f3"
      unitRef="usd">144953000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE2LTMtMS0xLTA_4c605efc-5b5b-436a-9759-62a8d253818b"
      unitRef="usd">135113000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE3LTEtMS0xLTA_8cc459ae-c171-4831-b767-bd9d5333696f"
      unitRef="usd">-3000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE3LTMtMS0xLTA_148565ca-c668-430a-b9eb-0fa029305544"
      unitRef="usd">-3000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE4LTEtMS0xLTA_ae63823f-de8e-44e4-9d9c-082ea52aa0ff"
      unitRef="usd">-138741000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE4LTMtMS0xLTA_325d5c88-7a86-4a23-971e-657893b1e7c9"
      unitRef="usd">-130855000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE5LTEtMS0xLTA_e9a7aefe-d710-4583-a603-a0cc54ed38fd"
      unitRef="usd">6209000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE5LTMtMS0xLTA_a44a7407-a8d0-40c3-b607-81755ca945e6"
      unitRef="usd">4255000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzIwLTEtMS0xLTA_335617c3-bd9f-4bf3-a0e2-4ff245dbac10"
      unitRef="usd">14391000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzIwLTMtMS0xLTA_5cf032a8-6b38-483e-9e9e-f96d8fae0e74"
      unitRef="usd">12397000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzEtMS0xLTEtMA_641d600b-26ca-42e3-a466-ce04cdd77dfb"
      unitRef="usd">9865000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzEtMy0xLTEtMA_61265da8-7224-419a-9c60-cdac4579a1d0"
      unitRef="usd">16828000</us-gaap:Revenues>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzItMS0xLTEtMA_82a187a4-f2a3-44d3-a9f4-0e35da71f23e"
      unitRef="usd">8167000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzItMy0xLTEtMA_5bbe413f-8a97-4ce8-b5cf-4b8a572e0c32"
      unitRef="usd">11643000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzMtMS0xLTEtMA_3350393e-678d-40d4-8435-83a2aa6a7686"
      unitRef="usd">1698000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzMtMy0xLTEtMA_e9a78e7f-fd43-49a4-a311-b9b916e0bbb3"
      unitRef="usd">5185000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzYtMS0xLTEtMA_23153b99-1ba1-42a4-b984-e087512ba93f"
      unitRef="usd">1891000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzYtMy0xLTEtMA_1cc5ca8d-5ed1-4f0f-bd01-1e34e147b763"
      unitRef="usd">1415000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzctMS0xLTEtMA_2752ca29-3c78-41d5-878f-2a148632a382"
      unitRef="usd">8535000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzctMy0xLTEtMA_b1c47f12-e511-47c1-bfd8-c59a7aa37b53"
      unitRef="usd">7900000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:RestructuringCosts
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzktMS0xLTEtMA_cdea1dfb-5c21-40ea-863d-a79cf93bb625"
      unitRef="usd">-21000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzktMy0xLTEtMA_b23c138a-1652-450b-98a7-1a1c568c4cc0"
      unitRef="usd">-60000</us-gaap:RestructuringCosts>
    <us-gaap:OperatingExpenses
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzExLTEtMS0xLTA_13314f48-ec3f-4124-ba39-dad5c46d0266"
      unitRef="usd">10405000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzExLTMtMS0xLTA_c6820def-fc8b-4064-ae6c-b01d4768b5f7"
      unitRef="usd">9255000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzEyLTEtMS0xLTA_8c325ab0-00b9-40a3-a1a8-a2ea5ba23e62"
      unitRef="usd">-8707000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzEyLTMtMS0xLTA_a0f1ad11-6ae2-41ed-bd24-f5a2ff254a79"
      unitRef="usd">-4070000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE2LTEtMS0xLTA_9ee34d62-2cc2-4d71-bdcf-01bffe4304f0"
      unitRef="usd">792000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE2LTMtMS0xLTA_8d637f59-c605-4ca8-9c24-07469505ea58"
      unitRef="usd">481000</us-gaap:InterestExpense>
    <efoi:GainLossOnForgivenessOfDebt
      contextRef="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE3LTEtMS0xLTc1Ng_c0baec71-3224-44b5-ae0d-54edf719bcf8"
      unitRef="usd">801000</efoi:GainLossOnForgivenessOfDebt>
    <efoi:GainLossOnForgivenessOfDebt
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE3LTMtMS0xLTc1Ng_3c77d03b-1e1b-4b72-a78e-9fce5a524d00"
      unitRef="usd">0</efoi:GainLossOnForgivenessOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE3LTEtMS0xLTA_44729af6-7424-494a-b16b-8ee0a8a81dad"
      unitRef="usd">0</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE3LTMtMS0xLTA_cfac12f5-170f-4954-aece-a3422d93fafe"
      unitRef="usd">-276000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <efoi:GainLossFromEmployeeRetentionTaxCredit
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE5LTEtMS0xLTI3NDY4_9a12876e-3d26-416b-bc80-db4c16668dab"
      unitRef="usd">876000</efoi:GainLossFromEmployeeRetentionTaxCredit>
    <efoi:GainLossFromEmployeeRetentionTaxCredit
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE5LTMtMS0xLTI3NDY4_d865ca6b-922c-4abd-9e63-cf6ff682440f"
      unitRef="usd">0</efoi:GainLossFromEmployeeRetentionTaxCredit>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE4LTEtMS0xLTA_98154bd5-a5c8-4f0d-a15c-42c1555d534e"
      unitRef="usd">0</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE4LTMtMS0xLTA_84c12cb7-dc9d-4060-b6ee-f8a1ebf078a6"
      unitRef="usd">1086000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE5LTEtMS0xLTA_4c25f5d5-b556-40a9-8215-164d17347f52"
      unitRef="usd">-65000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzE5LTMtMS0xLTA_341c2e47-e716-44c0-81f0-d29e53aeeeb6"
      unitRef="usd">-73000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzIxLTEtMS0xLTA_740af03e-6dce-468c-b3bf-07d5bdfd7547"
      unitRef="usd">-7887000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzIxLTMtMS0xLTA_c6dbb8d4-1534-489b-979e-a836fe57183f"
      unitRef="usd">-5986000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzIyLTEtMS0xLTA_3bfb8858-72f2-4b23-9cec-b115a5b66aea"
      unitRef="usd">-1000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzIyLTMtMS0xLTA_cb6f1a19-0bf9-4d48-96f3-9ddfcdc539af"
      unitRef="usd">-5000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzMzLTEtMS0xLTA_7dba090b-0238-40b1-8380-4cef1c785dc7"
      unitRef="usd">-7886000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzMzLTMtMS0xLTA_6fe7436f-aefa-4ec0-82ec-2584e6f8a75c"
      unitRef="usd">-5981000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzM4LTEtMS0xLTA_bb95b70c-191f-437a-921e-d8157bfb75ff"
      unitRef="usdPerShare">-1.73</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzM4LTEtMS0xLTA_c1e5f45a-3616-4e6d-9de8-afeb1fab29be"
      unitRef="usdPerShare">-1.73</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzM4LTMtMS0xLTA_47dd8d48-8827-4a34-bf36-4ce0c20dbac7"
      unitRef="usdPerShare">-1.83</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzM4LTMtMS0xLTA_dfcb417e-d8e8-428a-8a58-f5aa543f5691"
      unitRef="usdPerShare">-1.83</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_08168ba6-f958-41fc-a4bc-69ad0eb96e64"
      unitRef="shares">4561000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_5c4b2ca1-1270-4bac-a44b-3dc0acb0785a"
      unitRef="shares">4561000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_a81e93fe-6a31-426b-b0f0-f1337b3fb947"
      unitRef="shares">3270000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_cb43b184-2f6b-487c-bd9b-a1a2868ee3ce"
      unitRef="shares">3270000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:NetIncomeLoss
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzEtMS0xLTEtMA_52e401aa-8fb5-4cd1-a469-27758e46e76c"
      unitRef="usd">-7886000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzEtMy0xLTEtMA_e89a58b6-236f-468a-ac60-415a19c78b0d"
      unitRef="usd">-5981000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzQtMS0xLTEtMA_30495598-1b06-48eb-954c-a299839feea4"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzQtMy0xLTEtMA_0fe98fc6-f166-48a1-9f50-c1b84e5f39b4"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzYtMS0xLTEtMA_4d54bca1-cf1f-4eeb-83cd-e59fd21bf800"
      unitRef="usd">-7886000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjcvZnJhZzo4NDlmYjMyNTVhMGE0MDM2OWY0MmFiOWE2ODNmN2NmNS90YWJsZTo5MWMxNGYxYjNhZDQ0ZDU2OTcxMTEzZDYxYzg0NDE5YS90YWJsZXJhbmdlOjkxYzE0ZjFiM2FkNDRkNTY5NzExMTNkNjFjODQ0MTlhXzYtMy0xLTEtMA_e4a586a6-7992-4a21-8368-a00f0f15bb09"
      unitRef="usd">-5981000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="i8ef81b3ca36b41809c79c3c111f3456a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTEtMS0xLTA_a06a2f7c-94f7-495d-9c46-efac89257ca9"
      unitRef="shares">0</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i8ef81b3ca36b41809c79c3c111f3456a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTMtMS0xLTA_30e6af7e-2d54-4bc9-90c1-2f3c95fc4911"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="icf7a14f576aa403e94247f76aa988127_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTUtMS0xLTA_2fec7892-0246-4f3a-82aa-e5630642dd8f"
      unitRef="shares">2486000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="icf7a14f576aa403e94247f76aa988127_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTctMS0xLTA_c66aa328-5191-4539-984f-b49f50f174fb"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i340d2f1f76594807a4612967e77b7291_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTEzLTEtMS0w_a52b0da5-e717-436d-b388-225b62d42fd8"
      unitRef="usd">128873000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib6e8961ff3f14e2b9b409b88df491ee2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTE1LTEtMS0w_1d0700eb-f17b-43fc-afdb-4c9be71780fb"
      unitRef="usd">-3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib7366f7047d14decbef4dfff758cf7bb_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTE3LTEtMS0w_eb8e8785-ace4-4df3-b139-597ca436c23d"
      unitRef="usd">-124874000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTE5LTEtMS0w_ab87daa6-670a-4680-b23d-4e359f6df0bd"
      unitRef="usd">3996000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTUtMS0xLTA_f2de4794-894a-4739-891f-0a662d23770d"
      unitRef="shares">60000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTEzLTEtMS0w_1cd160e8-4377-4f4a-93bb-858ee21aead8"
      unitRef="usd">100000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTE5LTEtMS0w_0f019d61-929b-4d7c-bfd3-01822e996957"
      unitRef="usd">100000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYxLTEzLTEtMS0w_95daec0b-29a4-46c1-aa49-bc99efac842c"
      unitRef="usd">3000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYxLTE5LTEtMS0w_66a8fd0e-05cf-45d9-ba3b-a4aee7a6e286"
      unitRef="usd">3000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesPeriodIncreaseDecrease
      contextRef="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTUtMS0xLTA_6356fb33-48a0-4b49-9745-f3ffcb1e6c2d"
      unitRef="shares">688000</us-gaap:StockIssuedDuringPeriodSharesPeriodIncreaseDecrease>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTEzLTEtMS0w_29f70d81-f4f2-4ef2-b696-e1178f8c25b7"
      unitRef="usd">2749000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTE5LTEtMS0w_c9ca4495-98f2-43b5-850a-11ca0d348256"
      unitRef="usd">2749000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYzLTEzLTEtMS0w_e2210ea3-f5bd-4963-b793-cc07ecb6b843"
      unitRef="usd">510000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYzLTE5LTEtMS0w_6275d54b-f760-4105-8d4d-55e9b2444510"
      unitRef="usd">510000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTUtMS0xLTA_46f993bd-944b-44a2-985a-4f43d0abb672"
      unitRef="shares">269000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTEzLTEtMS0w_c2f205cd-de2e-468e-b119-a633760e3e61"
      unitRef="usd">2235000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTE5LTEtMS0w_f9051c8c-6212-45af-a1e8-aa942a8504e1"
      unitRef="usd">2235000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued
      contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY1LTEzLTEtMS0w_aa0e4b42-8e3b-4c3c-99f7-52b7c57e0781"
      unitRef="usd">-1636000</us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY1LTE5LTEtMS0w_98352740-aeca-4793-b401-771d7c050ca6"
      unitRef="usd">-1636000</us-gaap:AdjustmentsToAdditionalPaidInCapitalWarrantIssued>
    <efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified
      contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY2LTEzLTEtMS0w_763a1496-6b87-4e54-a066-853ba3d86881"
      unitRef="usd">1405000</efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified>
    <efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY2LTE5LTEtMS0w_ed04b9f3-6366-412d-b188-8cbdab679621"
      unitRef="usd">1405000</efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i72719563d6db4b70a95de40fd93ff04a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY3LTEtMS0xLTA_6b40c176-3ba2-4357-acc8-8af570fa2e70"
      unitRef="shares">2709000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="ie520b8b405e5481387ba54e5b500f9f4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY3LTEzLTEtMS0w_d522cc9a-8190-4ce7-a816-2d6e45623c61"
      unitRef="usd">1769000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i87666b90c1c04d669f2fa874ee6b3f79_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY3LTE5LTEtMS0w_ff44662a-a463-483a-8efd-beb4ccee9537"
      unitRef="usd">1769000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="ic31fb516724d43d1baa73cedc622327c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY4LTEtMS0xLTA_b19b772b-ae50-4e52-9f34-1b1a9661064c"
      unitRef="shares">112000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i356f60e7f5654dd1877dd9f40e25dc9f_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY4LTUtMS0xLTA_275ce0f7-f1ae-4faf-a324-7f9ec3be3370"
      unitRef="shares">22000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ife762a16019a4177bf5718b9d95ce460_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY5LTEzLTEtMS0w_8004ef84-cb2a-4dc6-a16d-bd42e92a7906"
      unitRef="usd">131000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY5LTE5LTEtMS0w_78db70a2-6ec5-42d7-8fb9-61aaf87ebd03"
      unitRef="usd">131000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="icfe60ea5641440fab5d2ba8a7f2645ad_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcwLTE3LTEtMS0w_a39a754a-dc63-4622-96ff-cb935aa5f21b"
      unitRef="usd">-5981000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcwLTE5LTEtMS0w_e206dbb6-0338-4dba-9329-affa2b4d4409"
      unitRef="usd">-5981000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i1cea56881a1c4785a365970521e4ea85_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTEtMS0xLTA_10f4910b-634f-4651-8008-bd10ec170dd5"
      unitRef="shares">2597000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1cea56881a1c4785a365970521e4ea85_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTMtMS0xLTA_575fe547-b0bd-4f93-8ab0-a9809ee90d39"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i4b0ef40e853240b8b95a961497447f9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTUtMS0xLTA_517ec01d-23dd-4811-bd8b-a77b610eb21b"
      unitRef="shares">3525000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i4b0ef40e853240b8b95a961497447f9f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTctMS0xLTA_c61c190c-4a18-4956-b06c-cbb51de7b08d"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i422747c982534d28a362d90cf69b7e63_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTEzLTEtMS0w_ebc9f0c6-ac5d-4d03-bd05-c62efb8570f2"
      unitRef="usd">135113000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i882e9c4100b44768a47a2784cd216341_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTE1LTEtMS0w_8fcf8ad4-443a-449f-a8d5-5e7b39df8006"
      unitRef="usd">-3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idceb843113eb4a09bb5e73a319505fc7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTE3LTEtMS0w_ca92ab70-d61d-445c-9e4f-9e046769838c"
      unitRef="usd">-130855000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTE5LTEtMS0w_6f0806c3-93ff-4047-a4d6-00f175894846"
      unitRef="usd">4255000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTUtMS0xLTM4NQ_9ca8cad5-9cf5-44b3-8062-8460b8688df2"
      unitRef="shares">79000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTEzLTEtMS0zODU_a45c5162-7a1f-48a6-be0c-6a2189b70337"
      unitRef="usd">80000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTE5LTEtMS0zODU_2b1c972d-f3b3-4afb-867f-d433565ad6a3"
      unitRef="usd">80000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzczLTEzLTEtMS0zODU_cc4d2ac4-0916-4384-b655-f143f36dc6fc"
      unitRef="usd">1000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzczLTE5LTEtMS0zODU_3fe67e5e-73de-4c3f-8760-7e2d96ff09ff"
      unitRef="usd">1000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesPeriodIncreaseDecrease
      contextRef="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTUtMS0xLTM4NQ_f7eb3ceb-081c-4973-9eb4-ee731a22afc9"
      unitRef="shares">2183000</us-gaap:StockIssuedDuringPeriodSharesPeriodIncreaseDecrease>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTEzLTEtMS0zODU_9f17d462-d015-493f-b81b-b6dc29b4197b"
      unitRef="usd">9500000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTE5LTEtMS0zODU_8f86a539-eaf5-469d-b6bf-29f115faa13e"
      unitRef="usd">9500000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc1LTEzLTEtMS0zODU_b6cd750d-4058-4b9e-8acd-027f228b8c5d"
      unitRef="usd">969000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc1LTE5LTEtMS0zODU_35c1a026-ad50-467f-aa6e-2be3ff5351a9"
      unitRef="usd">969000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTUtMS0xLTM4NQ_baf07fc7-da8e-4c1c-8ecc-380d268c6b7d"
      unitRef="shares">237000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTEzLTEtMS0zODU_f9cd0d8e-6d81-4feb-81c5-295f2df679c4"
      unitRef="usd">801000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTE5LTEtMS0zODU_b602bcd4-5c44-40a5-9ec2-29d733838feb"
      unitRef="usd">801000</us-gaap:StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="idaf1a359762d42a7947ac5132fa0fded_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgwLTEtMS0xLTM4NQ_f6662929-65a2-44a3-a9f6-beebf9de9837"
      unitRef="shares">1721000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i31996f84fc3749ca8fe6f9d1260324cf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgwLTUtMS0xLTM4NQ_62c95a26-22d9-45d2-818a-ec9ede1a623f"
      unitRef="shares">344000</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ib72ec2c6d07a4f92837b431edf54f051_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgxLTEzLTEtMS0zODU_77dcddca-0f4d-458e-9eb0-dbed7c898597"
      unitRef="usd">429000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgxLTE5LTEtMS0zODU_ee4bf9df-a0b4-438d-bd75-2fe0a52583ec"
      unitRef="usd">429000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="id03c813faedc4eb9967f598bf8ea7631_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgyLTE3LTEtMS0zODU_1a21e335-710f-46dd-95e0-5eab74804b8a"
      unitRef="usd">-7886000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgyLTE5LTEtMS0zODU_52bb53de-f3ea-4c8a-9c45-5d4c21e95089"
      unitRef="usd">-7886000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="ic01f4600ec4648a890468d6db78dea46_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTEtMS0xLTQ1MjMy_39ba696d-376c-451a-a0f4-c8c5f55a1eae"
      unitRef="shares">876000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ic01f4600ec4648a890468d6db78dea46_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTMtMS0xLTQ1MjMy_0146afc4-6c85-431a-82f2-78be2a4d7be7"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i0a0e1efc24584ca39b34989185b54eaf_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTUtMS0xLTQ1MjMy_6d60ea95-3e82-4714-9689-ea28e0c45607"
      unitRef="shares">6368000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i0a0e1efc24584ca39b34989185b54eaf_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTctMS0xLTQ1MjMy_236e9a03-7f5a-47db-b36c-41024ab6cb18"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic14783271a45468f8a86cd80f079cf4f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTEzLTEtMS00NTIzMg_2c690468-e1ac-4416-8bb9-4ecbf6cc987a"
      unitRef="usd">144953000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifbdf5c17ad2e4fab8e1954d40724373c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTE1LTEtMS00NTIzMg_77202276-5f82-4853-8391-6dd71f59a173"
      unitRef="usd">-3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8533402d2c1f449eb1b4847fd40069a5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTE3LTEtMS00NTIyOQ_54e066ce-0ed9-45f6-9abe-1b3ea49ccfae"
      unitRef="usd">-138741000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTE5LTEtMS00NTIyMA_e5c0235f-bb7b-4f5b-b218-236aa29a4e7f"
      unitRef="usd">6209000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzItMS0xLTEtMA_6519f29b-0526-415f-a80b-c7f416decab7"
      unitRef="usd">-7886000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzItMy0xLTEtMA_2f910332-ee76-46ab-90c1-5f01c1529a99"
      unitRef="usd">-5981000</us-gaap:NetIncomeLoss>
    <efoi:GainLossFromEmployeeRetentionTaxCredit
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMS0xLTEtMjc1MjA_eb98d796-ba95-4218-8b41-262701ef980d"
      unitRef="usd">876000</efoi:GainLossFromEmployeeRetentionTaxCredit>
    <efoi:GainLossFromEmployeeRetentionTaxCredit
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMy0xLTEtMjc1MjA_d7b33626-207e-43b6-ae3d-8a531caeb06f"
      unitRef="usd">0</efoi:GainLossFromEmployeeRetentionTaxCredit>
    <efoi:GainLossOnForgivenessOfDebt
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMS0xLTEtNzk5_49badfb5-2668-4a0e-92a4-a019cc3e4c17"
      unitRef="usd">801000</efoi:GainLossOnForgivenessOfDebt>
    <efoi:GainLossOnForgivenessOfDebt
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMy0xLTEtNzk5_85c83301-824d-4552-9df6-80738978045f"
      unitRef="usd">0</efoi:GainLossOnForgivenessOfDebt>
    <us-gaap:Depreciation
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMS0xLTEtMA_3b0c906d-1a1b-43f5-a5ab-10f235b48f51"
      unitRef="usd">188000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzctMy0xLTEtMA_e044e9ab-9db9-4c90-970e-ae13942ef4de"
      unitRef="usd">184000</us-gaap:Depreciation>
    <us-gaap:ShareBasedCompensation
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzgtMS0xLTEtMA_459e62a6-7b58-4c55-8985-e607449dc199"
      unitRef="usd">429000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzgtMy0xLTEtMA_fec4594e-0c02-477a-a28b-ba2b1b27960a"
      unitRef="usd">131000</us-gaap:ShareBasedCompensation>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzExLTEtMS0xLTA_6060d1d4-01f8-4b0c-810f-66d3b942306a"
      unitRef="usd">0</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzExLTMtMS0xLTA_c668c73f-b364-42cc-9159-0ad9ff601c08"
      unitRef="usd">1086000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzEyLTEtMS0xLTA_31e5181a-fdbd-4dc2-9846-413652895f9c"
      unitRef="usd">6000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzEyLTMtMS0xLTA_16083a35-e453-480d-a3a4-f12a4aa3417e"
      unitRef="usd">-20000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:InventoryWriteDown
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzEzLTEtMS0xLTA_cdefc52b-dffe-4dcf-ab95-3dd7500658b4"
      unitRef="usd">156000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzEzLTMtMS0xLTA_c676407b-6ec3-4d46-b89a-73c22b70d24f"
      unitRef="usd">-610000</us-gaap:InventoryWriteDown>
    <efoi:IncreaseDecreaseInProvisionForWarranties
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE0LTEtMS0xLTA_3bfb544a-a6be-477d-bbd8-e6cc4e6b449f"
      unitRef="usd">68000</efoi:IncreaseDecreaseInProvisionForWarranties>
    <efoi:IncreaseDecreaseInProvisionForWarranties
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE0LTMtMS0xLTA_655c08be-0a1c-4bcc-bf78-db68ffa837eb"
      unitRef="usd">31000</efoi:IncreaseDecreaseInProvisionForWarranties>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE2LTEtMS0xLTA_d2def46d-f7cf-4908-89ca-cf3048df345c"
      unitRef="usd">230000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE2LTMtMS0xLTA_3fc816cf-a5e1-4839-863d-777f90fd70b6"
      unitRef="usd">395000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE4LTEtMS0xLTA_b062fa47-c3f4-42f5-8bdd-270606cb6a36"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzE4LTMtMS0xLTA_e490a89e-d1b8-4bfb-8446-94ba18705332"
      unitRef="usd">-8000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzIxLTEtMS0xLTA_befea0cc-a8cb-46d9-af2c-14e535aefe99"
      unitRef="usd">-783000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzIxLTMtMS0xLTA_61a12b09-08da-43be-8032-cb3652b8e40e"
      unitRef="usd">-377000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzIzLTEtMS0xLTA_1701f489-77d2-4110-bc0c-873698afc5a7"
      unitRef="usd">2381000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzIzLTMtMS0xLTA_d203ba18-1a0f-4c56-b521-9191dd3c686f"
      unitRef="usd">-1137000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInDepositOtherAssets
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI0LTEtMS0xLTA_232d047d-f9c7-4f80-b4f3-1c4af1be2619"
      unitRef="usd">-257000</us-gaap:IncreaseDecreaseInDepositOtherAssets>
    <us-gaap:IncreaseDecreaseInDepositOtherAssets
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI0LTMtMS0xLTA_4505c223-d076-4661-bb10-4b7a8adc3418"
      unitRef="usd">670000</us-gaap:IncreaseDecreaseInDepositOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI1LTEtMS0xLTA_3d5f53b2-5fd8-46bb-98aa-aaf6d25d563b"
      unitRef="usd">-669000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI1LTMtMS0xLTA_46088fcc-8314-40d8-af47-2763c26d18d9"
      unitRef="usd">18000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI2LTEtMS0xLTA_c0e5a46e-e737-41be-b103-cb4bc8956e24"
      unitRef="usd">-423000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI2LTMtMS0xLTA_8050f990-4fda-4d45-be8b-a647faa501a8"
      unitRef="usd">1096000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI3LTEtMS0xLTA_3a5d697c-8f97-4994-b432-8846b8c8c4d0"
      unitRef="usd">-380000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI3LTMtMS0xLTA_7205e16e-88b6-437e-8b32-45b9e431deba"
      unitRef="usd">349000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI5LTEtMS0xLTA_ec4e5670-db37-4294-ada8-34fbcaec9ba6"
      unitRef="usd">196000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzI5LTMtMS0xLTA_3ebc6b0a-9de2-4aca-9c7e-9ee432424eaa"
      unitRef="usd">54000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzMwLTEtMS0xLTA_058b4545-94fb-4a38-998b-35784b9d43de"
      unitRef="usd">-1879000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzMwLTMtMS0xLTA_9cb7b0ea-99c9-4270-9404-10fc5ecef866"
      unitRef="usd">3530000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzMxLTEtMS0xLTA_6dca5f50-608d-4b1d-a2f9-808e9a195735"
      unitRef="usd">-9765000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzMxLTMtMS0xLTA_98af5842-2a14-4036-8443-218f50834a14"
      unitRef="usd">-2451000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM0LTEtMS0xLTA_b3ef0dbe-2395-49c1-8ff6-776a24db19b3"
      unitRef="usd">443000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM0LTMtMS0xLTA_77c6a7c9-3943-4771-8147-c15e43ad5cd8"
      unitRef="usd">223000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM2LTEtMS0xLTA_5a4ec489-283d-4e3a-83c6-26a9fb75f480"
      unitRef="usd">-443000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM2LTMtMS0xLTA_51809ee1-1d04-4a33-b316-216100bf198e"
      unitRef="usd">-223000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <efoi:ProceedsFromIssuanceOfCommonStockAndWarrants
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM5LTEtMS0xLTA_81c13e7e-d769-4aff-a37b-f4ab59b40ab1"
      unitRef="usd">9500000</efoi:ProceedsFromIssuanceOfCommonStockAndWarrants>
    <efoi:ProceedsFromIssuanceOfCommonStockAndWarrants
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzM5LTMtMS0xLTA_d820d656-ef0c-474e-88d4-36e696d5e133"
      unitRef="usd">2749000</efoi:ProceedsFromIssuanceOfCommonStockAndWarrants>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQwLTEtMS0xLTA_279a69ba-e441-422f-86b5-ff5bd2bc9570"
      unitRef="usd">801000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQwLTMtMS0xLTA_856a26fb-3a9b-461f-a9c4-9ad1973c9f42"
      unitRef="usd">918000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQxLTEtMS0xLTA_202fdcf1-3037-44de-984b-b85cc45ad9cf"
      unitRef="usd">969000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQxLTMtMS0xLTA_caa3b2e5-5132-43f3-9729-755c6b8dfaaf"
      unitRef="usd">510000</us-gaap:PaymentsOfStockIssuanceCosts>
    <efoi:ProceedsFromPaycheckProtectionProgram
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQyLTEtMS0xLTA_cbdece5b-63d4-4570-b0ab-84b7d9292cf7"
      unitRef="usd">0</efoi:ProceedsFromPaycheckProtectionProgram>
    <efoi:ProceedsFromPaycheckProtectionProgram
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQyLTMtMS0xLTA_5d963a4e-9fd1-4330-bbbf-c0c91331cd20"
      unitRef="usd">795000</efoi:ProceedsFromPaycheckProtectionProgram>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQzLTEtMS0xLTA_ff942d29-723b-4cf5-964d-45f6038f5a02"
      unitRef="usd">80000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQzLTMtMS0xLTA_c581eb78-9b12-4b56-af56-1e74162e51fd"
      unitRef="usd">100000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ0LTEtMS0xLTA_173812ef-e05e-4a12-9608-63194f2d136b"
      unitRef="usd">3000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ0LTMtMS0xLTA_1adadc0e-911b-410e-af3d-6fb857fdbf08"
      unitRef="usd">3000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ1LTEtMS0xLTA_f7974d77-ab5f-44ac-b923-a465b18c38c2"
      unitRef="usd">1000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ1LTMtMS0xLTA_76f5dbfe-8a60-44f1-8a1e-5787f504139b"
      unitRef="usd">3000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ3LTEtMS0xLTA_7905cdd4-0890-475c-b7d3-72988811bf50"
      unitRef="usd">30000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ3LTMtMS0xLTA_ba9ba885-b7fb-4952-8976-fc630ee5f622"
      unitRef="usd">320000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ5LTEtMS0xLTA_8ad106f9-f350-4c4c-a74f-d14dac1ab1f6"
      unitRef="usd">0</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzQ5LTMtMS0xLTA_c21ca1d8-eb9b-41eb-9906-421768a0344c"
      unitRef="usd">1306000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUxLTEtMS0xLTg5Ng_e8c95059-07a6-482e-b3cb-8f43f5d1a315"
      unitRef="usd">1515000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUxLTMtMS0xLTgzNA_8d709df1-0dd8-44af-bf73-e5e41c716196"
      unitRef="usd">0</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="i235af9e1c854468da093d2b9cd1f5fcf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUxLTEtMS0xLTA_01cbdfbb-1602-4b8e-86f2-e59607e73290"
      unitRef="usd">0</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="i4e01fb1d663d42b7b2a159a9b0386fa0_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUxLTMtMS0xLTA_ec19fbdb-4393-419b-94bd-a7b98ae306fa"
      unitRef="usd">-719000</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="i038a23f2db1b46c798a804a5f3b676e3_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUyLTEtMS0xLTA_eee230a9-3e0a-4264-8766-9d1ceeed510c"
      unitRef="usd">-181000</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="ie2817b214aa947fba6bab10126e1aafd_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUyLTMtMS0xLTA_fdcf86b0-d371-48c4-b0fc-aa911e210a96"
      unitRef="usd">2459000</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUzLTEtMS0xLTA_7b4bdf12-f425-4653-8e65-0ed00e3d3bd2"
      unitRef="usd">10712000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo0Y2RhMjBhN2U5Yjk0NjYxYTAxOTJhYjRjMTRhOGM4Yi90YWJsZXJhbmdlOjRjZGEyMGE3ZTliOTQ2NjFhMDE5MmFiNGMxNGE4YzhiXzUzLTMtMS0xLTA_fd04b03a-826f-4abc-92a2-597caba64bd1"
      unitRef="usd">4160000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzgtMS0xLTEtMA_5b006e61-b17d-4132-a3c2-020ca84707bb"
      unitRef="usd">504000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzgtMy0xLTEtMA_f0b89750-87d6-4dd6-92a6-1f5dc26ef2f1"
      unitRef="usd">1486000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzktMS0xLTEtMA_37b6222b-a26a-4c5d-9c7f-d5ba1723e69c"
      unitRef="usd">2178000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzktMy0xLTEtMA_55b0de5f-fa56-42f0-8d82-cc93d27f98fe"
      unitRef="usd">692000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzEwLTEtMS0xLTA_ac01e77e-041e-4188-9e8f-1f3d0dd26d38"
      unitRef="usd">2682000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzEwLTMtMS0xLTA_d0358d1a-fb40-456a-8992-58644af521ea"
      unitRef="usd">2178000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzEzLTEtMS0xLTA_70345e85-3c7e-4a99-9c79-866a30b46af2"
      unitRef="usd">2682000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzEzLTMtMS0xLTA_f69c25da-55fb-472d-a300-f357bbd053b8"
      unitRef="usd">1836000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE0LTEtMS0xLTA_fab56ef9-25f2-450d-9250-322a6e51a073"
      unitRef="usd">0</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE0LTMtMS0xLTA_1eb8ee54-c14b-4f08-bc7d-8efbf90d7282"
      unitRef="usd">342000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE2LTEtMS0xLTA_426c631f-68b7-41c1-9d2f-5614e248e5a4"
      unitRef="usd">2682000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE2LTMtMS0xLTA_f40601fa-be78-4d93-848e-37abe0c8862b"
      unitRef="usd">2178000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE5LTEtMS0xLTA_22a8cb64-906e-4f45-afa5-2a3019707c6d"
      unitRef="usd">381000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzE5LTMtMS0xLTA_ff47d991-3e71-4e6c-8f73-8111a6b03e57"
      unitRef="usd">269000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzIwLTEtMS0xLTA_b4bd0076-ad53-45b2-a573-abc1965f4e64"
      unitRef="usd">4000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzMvZnJhZzoxMDIyMGFlMDE3MTM0MzRmOTQzYzI5Yzc2YmU0MzlhNy90YWJsZTo2NzYzZjkwMjE5ZjU0M2ZmYmI1ZTJkMzFjZmY0OGVmNy90YWJsZXJhbmdlOjY3NjNmOTAyMTlmNTQzZmZiYjVlMmQzMWNmZjQ4ZWY3XzIwLTMtMS0xLTA_8ee6ba4b-bd04-400e-a9e2-ad1338746f22"
      unitRef="usd">4000</us-gaap:IncomeTaxesPaid>
    <us-gaap:NatureOfOperations
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4Xzc3NzE_a1fac7fa-f8a7-43a8-a8c3-e363177ac6ac">NATURE OF OPERATIONS&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Energy Focus, Inc. engages primarily in the design, development, manufacturing, marketing and sale of energy-efficient lighting systems and controls and ultraviolet-C light disinfection (&#x201c;UVCD&#x201d;) products. We develop, market and sell high quality light-emitting diode (&#x201c;LED&#x201d;) lighting and controls products and UVCD products in the commercial market and military maritime market (&#x201c;MMM&#x201d;), and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our mission is to enable our customers to run their facilities, offices and homes with greater energy efficiency, productivity, and human health and wellness through advanced LED retrofit and UVCD solutions. Our goal is to be the LED and human-centric lighting (&#x201c;HCL&#x201d;) technology and market leader for the most demanding applications where performance, quality, value, environmental impact and health are considered paramount. We specialize in LED lighting retrofit by replacing fluorescent, high-intensity discharge lighting and other types of lamps in institutional buildings for primarily indoor lighting applications with our innovative, high-quality commercial and military-grade tubular LED (&#x201c;TLED&#x201d;) products, as well as other LED and lighting control products for commercial and consumer applications. In late 2020, we announced the launch of our UVCD product portfolio. With initial development complete and two products now brought to market, we anticipate the development of additional UVCD products in 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The LED lighting industry continues to be characterized by increasing challenges in differentiating product offerings, competition and price erosion. We have been experiencing these industry forces in both our military business since 2016 and in our commercial segment where we once commanded significant price premiums for our flicker-free TLEDs with primarily 10-year warranties. In more recent years, we have focused on redesigning our products for lower costs and consolidating our supply chain in order to price our products more competitively. Despite these efforts, our legacy products continue to face aggressive pricing competition. These trends are not unique to Energy Focus as evidenced by the increasing number of industry peers facing challenges, exiting LED lighting, selling assets and even going out of business. In addition to continuous cost reductions, our strategy to combat these trends is to move up the value chain, with more innovative and differentiated products and solutions that support a premium. Two specific examples of these&lt;/span&gt;&lt;span style="color:#ee2724;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;products we have recently developed include the RedCap&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.8pt;font-style:italic;font-weight:400;line-height:120%;position:relative;top:-4.2pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, our emergency backup battery integrated TLED, and EnFocus&#x2122;, our new dimmable/tunable lighting and powerline control platform that we launched in 2020. We believe our revamped go-to-market strategy that focuses more on direct-sales and additional sales representatives and listens to the voice of the customer, has informed more impactful product development efforts that could eventually translate into larger addressable markets and greater sales growth for us.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During 2021, we continued to see certain benefits from the relaunch efforts (described below) that began in 2019, in addition to a number of strategic sourcing projects completed during 2020. It is our belief that the continued momentum of the efforts undertaken in 2020 and into 2021, along with the development and launch of new and innovative products, will over time result in improved sales and bottom-line performance for the Company. We launched our EnFocus&#x2122; platform during the second quarter of 2020 and continued to receive positive feedback from the market. The EnFocus&#x2122; powerline control platform offers two immediately available product lines: EnFocus&#x2122; DM, which provides a dimmable lighting solution, and EnFocus&#x2122; DCT, which provides both a dimmable and color tunable lighting solution. EnFocus&#x2122; enables buildings to have dimmable, color tunable and circadian-ready lighting using existing wiring, without requiring any wireless communications, through a relatively simple upgrade with EnFocus&#x2122; switches and replacement LED lamps, a more environmentally sustainable solution compared with replacing each lighting fixture.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, in response to the COVID-19 pandemic and an anticipated increase in sanitation and hygiene demand for buildings, facilities and homes, we started developing advanced UVCD products for both the consumer and the commercial and industrial markets in the first quarter of 2020. In late 2020, we announced the nUVo&#x2122; portable disinfection devices for offices and homes. Sales of these products began during the fourth quarter of 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to 2019, the Company experienced significant sales declines, operating losses and increases in its inventory. Beginning in 2019, significant restructuring efforts were undertaken. The Company replaced the entire senior management team, significantly reduced non-critical expenses, minimized the amount of inventory the Company was purchasing, dramatically changed the composition of our board of directors (&#x201c;Board of Directors&#x201d;) and the executive team, and recruited new departmental leaders across the Company. The cost savings efforts undertaken included phased actions to reduce costs to minimize cash usage. Initial actions included the elimination of certain positions, restructuring of the sales organization and incentive plan, flattening of the senior management team, additional operational streamlining, management compensation reductions, and outsourcing of certain functions including certain elements of supply chain and marketing.&lt;/span&gt;&lt;/div&gt;On June 11, 2020, in accordance with previous stockholder approval, our Board of Directors effected a 1-for-5 (the &#x201c;Split Ratio&#x201d;) reverse stock split of the Company&#x2019;s common stock, par value $0.0001 per share. The reverse stock split became effective immediately upon the filing of the Certificate of Amendment to the Company&#x2019;s Certificate of Incorporation, as amended (the &#x201c;Certificate of Incorporation&#x201d;), with the Delaware Secretary of State (the &#x201c;Effective Time&#x201d;). At the Effective Time, every five shares of common stock issued and outstanding automatically combined into one validly issued, fully paid and non-assessable share of common stock. No fractional shares were issued as a result of the reverse stock split. The $0.0001 par value per share of common stock and other terms of the common stock were not affected by the reverse stock split. The number of authorized shares of common stock under the Certificate of Incorporation remained unchanged at 50,000,000 shares. Proportional adjustments were made to the conversion and exercise prices of our outstanding warrants and stock options, and to the number of shares issued and issuable under our stock incentive plans in connection with the reverse stock split. The information presented in the financial statements for all prior periods have been retroactively adjusted to reflect the reverse stock split. Preferred shares outstanding were not affected by the reverse stock split and, as such, those shares have not been adjusted.</us-gaap:NatureOfOperations>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNTU_74458553-a1cc-466f-b886-9ddfba0580af"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNTU_7762a891-96c7-4781-af14-09f7bacecebe"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNjU_74458553-a1cc-466f-b886-9ddfba0580af"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNjU_7762a891-96c7-4781-af14-09f7bacecebe"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzkvZnJhZzpkZmE3ODFlODgzYmY0NDFjOWYwODk0MDZiZWRiZGI4OC90ZXh0cmVnaW9uOmRmYTc4MWU4ODNiZjQ0MWM5ZjA4OTQwNmJlZGJkYjg4XzEwOTk1MTE2NDQyNzg_6413abbc-6581-48f7-b400-f9da90f93a79"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDY1_c853bd5a-267e-48bb-8b09-3475dd040537">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The significant accounting policies of our Company, which are summarized below, are consistent with U.S. GAAP and reflect practices appropriate to the business in which we operate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Use of estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods presented. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory excess and obsolescence reserve and warranty claims, the useful lives for property and equipment and stock-based compensation. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Basis of presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Consolidated Financial Statements include the accounts of the Company. All significant inter-company balances and transactions have been eliminated. Unless indicated otherwise, the information in the Notes to Consolidated Financial Statements relates to our operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#x2019; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities and collected by us are accounted for on a net basis and are excluded from net sales.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A disaggregation of product net sales is presented in Note 12, &#x201c;Product and Geographic Information.&#x201d;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cash and restricted cash&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2021, we had cash of $2.7 million and at December&#160;31, 2020, we had cash and restricted cash of $2.2 million on deposit with financial institutions located in the United States. The December&#160;31, 2020 cash balance of $2.2 million of cash includes restricted cash of $0.3 million which is presented within prepaid and other current assets and other assets in the accompanying Consolidated Balance Sheets. Please refer to Note 4, &#x201c;Leases,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We state inventories at the lower of standard cost (which approximates actual cost determined using the first-in-first-out method) or net realizable value. We establish provisions for excess and obsolete inventories after evaluation of historical sales, current economic trends, forecasted sales, product lifecycles, and current inventory levels. The assessment is both quantitative and qualitative. During 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components. This resulted in a net increase of our gross inventory levels of $2.4&#160;million. We had an increase of excess inventory reserves of $0.2&#160;million as compared to 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assessment for excess and obsolete inventories for 2020 not only included both quantitative and qualitative components, but a COVID-19 pandemic impact analysis as well. Throughout 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand which resulted in a net reduction of our gross inventory levels of $1.2&#160;million and excess inventory reserves of $0.6&#160;million compared to 2019. Adjustments to our estimates, such as forecasted sales and expected product lifecycles, could harm our operating results and financial position. Please refer to Note 5, &#x201c;Inventories,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accounts receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#x2019;s financial condition and the amounts due are stated at their estimated net realizable value. We utilize a third-party account receivables insurance program with a very high credit worthy insurance company where we have the large majority of the accounts receivable insured with a portion of self-retention. This third party also provides credit-worthiness ratings and metrics that significantly assist us in evaluating the credit worthiness of both existing and new customers. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated amount of account receivables that will not be collected. The allowance is based on an assessment of customer creditworthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases to major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Income taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of the process of preparing the Consolidated Financial Statements, we are required to estimate our income tax liability in each of the jurisdictions in which we do business. This process involves estimating our actual current tax expense together with assessing temporary differences resulting from differing treatment of items, such as deferred revenues, for tax and accounting purposes. These differences result in deferred tax assets and liabilities, which are included in our Consolidated Balance Sheets. We then assess the likelihood of the deferred tax assets being recovered from future taxable income and, to the extent we believe it is more likely than not that the deferred tax assets will not be recovered, or is unknown, we establish a valuation allowance. Significant management judgment is required in determining our provision for income taxes, deferred tax assets and liabilities, and any valuation allowance recorded against our deferred tax assets. At December&#160;31, 2021 and 2020, we have recorded a full valuation allowance against our net deferred tax assets due to uncertainties related to our ability to utilize our deferred tax assets, primarily consisting of certain net operating losses carried forward. The valuation allowance is based upon our estimates of taxable income by jurisdiction and the period over which our deferred tax assets will be recoverable. In considering the need for a valuation allowance, we assess all evidence, both positive and negative, available to determine whether all or some portion of the deferred tax assets will not be realized.&#160;Such evidence includes, but is not limited to, recent earnings history, projections of future income or loss, reversal patterns of existing taxable and deductible temporary differences, and tax planning strategies.&#160;We continue to evaluate the need for a valuation allowance on a quarterly basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;December 2021 Private Placement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we completed a private placement (the &#x201c;December 2021 Private Placement&#x201d;) with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) pre-funded warrants (&#x201c;Pre-Funded Warrants&#x201d;) to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#x201c;December 2021 Warrants&#x201d;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. We paid the placement agent commissions of $360&#160;thousand, plus $42&#160;thousand in expenses, in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $97&#160;thousand related to the December 2021 Private Placement. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021. Net proceeds to us from the December 2021 Private Placement were approximately $4.0 million. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the 85,228 shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic earnings per share (&#x201c;EPS&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of 1,363,641 shares remained outstanding, with a weighted average exercise price of $3.30 per share. None of the December 2021 Warrants were exercised as of December&#160;31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5&#160;million in the aggregate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;June 2021 Equity Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2021, we completed a registered direct offering of 990,100 shares of our common stock to certain institutional investors, at a purchase price of $5.05 per share (the &#x201c;June 2021 Equity Offering&#x201d;). We paid the placement agent commissions of $400 thousand, plus $51 thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $19 thousand related to the June 2021 Equity Offering. Total offering costs of $470 thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $4.5 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;January 2020 Equity Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share (the, &#x201c;Investor Warrants&#x201d;) in a concurrent private placement (together with the concurrent registered direct offering, the &#x201c;January 2020 Equity Offering&#x201d;) for a purchase price of $0.625 per warrant. We paid the placement agent commissions of $193&#160;thousand plus $50&#160;thousand in expenses in connection with the January 2020 Equity Offering and we also paid legal, accounting and other fees of $231&#160;thousand related to the January 2020 Equity Offering. Total offering costs of $510&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020. In addition, we issued warrants to the placement agent to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share (together with the Investor Warrants, the &#x201c;January 2020 Warrants&#x201d;). Net proceeds to us from the January 2020 Equity Offering were approximately $2.3 million. In accordance with the terms of the Iliad Note (as defined below in Note 8, &#x201c;Debt&#x201d;), 10% of the gross proceeds from the January 2020 Equity Offering ($275 thousand) were used to make payments on the Iliad Note, of which $226 thousand went towards the outstanding principal amount and the balance to interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, January 2020 Warrants issued to purchase an aggregate of 229,414 shares remain outstanding with a weighted average exercise price of $3.67 per share. During the twelve months ended December&#160;31, 2021, 237,892 January 2020 Warrants were exercised resulting in total proceeds of $801 thousand. The exercise of the remaining January 2020 Warrants outstanding could provide us with cash proceeds of up to $841 thousand in the aggregate. At December&#160;31, 2020, January 2020 Warrants issued to purchase an aggregate of 467,306 shares remained outstanding with a weighted average exercise price of $3.51 per share. During the twelve months ended December&#160;31, 2020, 269,240 January 2020 Warrants were exercised resulting in total proceeds of $918 thousand.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to a potential cash settlement upon occurrence of a fundamental transaction within the January 2020 Equity Offering warrant agreement, the January 2020 Warrants were initially classified as liabilities, as opposed to equity, and were recorded at their fair values at each balance sheet date for the first three quarters of 2020. During December 2020, the warrant holders agreed to a modification of the terms of their January 2020 Warrants which removed the potential cash settlement option upon the occurrence of a fundamental transaction. As such, during the fourth quarter of 2020, the warrant liability was fair-valued through the modification date and then was reclassified into equity and the January 2020 Warrants are no longer subject to re-measurement at each balance sheet date. Please also refer to Note 10, &#x201c;Stockholders&#x2019; Equity&#x201d;.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair value measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received to sell an asset or would be paid to transfer a liability in an orderly transaction between market participants on the measurement date. The fair value of financial assets and liabilities are measured on a recurring or non-recurring basis. Financial assets and liabilities measured on a recurring basis are those that are adjusted to fair value each time a financial statement is prepared. Financial assets and liabilities measured on a non-recurring basis are those that are adjusted to fair value when a significant event occurs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We utilize valuation techniques that maximize the use of available market information and generally accepted valuation methodologies. We assess the inputs used to measure fair value using a three-tier hierarchy. The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:89.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unadjusted quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unobservable inputs for the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A financial instrument&#x2019;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A roll-forward of fair value measurements using significant unobservable inputs (Level 3) for the January 2020 Warrants issued in the January 2020 Equity Offering is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.270%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Twelve months ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;Balance January 1, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Issuance of warrants, January 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;1,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Settlements from exercise&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,317)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Loss from change in fair value of warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;1,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Reclassification to equity upon modification &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;(1,405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;Balance December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Long-lived assets&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost and include expenditures for additions and major improvements. Expenditures for repairs and maintenance are charged to operations as incurred. We use the straight-line method of depreciation over the estimated useful lives of the related assets (generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDA5_a382e080-4adf-47d2-b9ae-c9ef896c4927"&gt;two&lt;/span&gt; to 15 years) for financial reporting purposes. Accelerated methods of depreciation are used for federal income tax purposes. When assets are sold or otherwise disposed of, the cost and accumulated depreciation are removed from the accounts and any gain or loss is reflected in the Consolidated Statements of Operations. Refer to Note 6, &#x201c;Property and Equipment,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets are reviewed for impairment whenever events or circumstances indicate the carrying amount may not be recoverable. Events or circumstances that would result in an impairment review primarily include operations reporting losses, a significant change in the use of an asset, or the planned disposal or sale of the asset. The asset would be considered impaired when the future net undiscounted cash flows generated by the asset are less than its carrying value. An impairment loss would be recognized based on the amount by which the carrying value of the asset exceeds its fair value, as determined by quoted market prices (if available) or the present value of expected future cash flows. Refer to Note 6, &#x201c;Property and Equipment,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Certain risks and concentrations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically our products were sold through a direct sales model, which included a combination of direct sales employees, electrical and lighting contractors, and distributors. We utilize a third-party accounts receivable insurance and credit assessment company. Although we maintain allowances for potential credit losses that we believe to be adequate, a payment default on a significant sale could materially and adversely affect our operating results and financial condition, although we have mitigated this risk somewhat through the accounts receivable insurance program.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable, as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;In 2021, two customers accounted for 43% of net sales, with sales to our primary distributor for the U.S. Navy accounting for approximately 30% and sales to a regional commercial lighting retrofit company accounting for approximately 13% of net sales. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 38% of net sales for the same period. In 2020, two customers accounted for 62% of net sales and total net sales of products to the U.S. Navy represented 53% of net sales.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;At December&#160;31, 2021, a distributor to the U.S. Department of Defense accounted for 20% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 36% of our net trade accounts receivable. At December&#160;31, 2020, a distributor to the U.S. Navy accounted for 28% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 21% of our net trade accounts receivable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We require substantial amounts of purchased materials from selected vendors. With specific materials, all of our purchases are from a single vendor. The availability and costs of materials may be subject to change due to, among other things, new laws or regulations, suppliers&#x2019; allocation to other purchasers, interruptions in production by suppliers, global health issues such as the COVID-19 pandemic, and changes in exchange rates and worldwide price and demand levels. Our inability to obtain adequate supplies of materials for our products at favorable prices could have a material adverse effect on our business, financial position, or results of operations by decreasing our profit margins and by hindering our ability to deliver products to our customers on a timely basis. Additionally, certain vendors require advance deposits prior to the fulfillment of orders. Deposits paid on unfulfilled orders totaled $0.7 million and $0.8 million at December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have certain vendors who individually represented 10% or more of our total expenditures, or whose net trade accounts payable balance individually represented 10% or more of our total net trade accounts payable, as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;One offshore supplier accounted for approximately 29% of our total expenditures for the twelve months ended December&#160;31, 2021. At December&#160;31, 2021, this same offshore supplier accounted for approximately 60% of our trade accounts payable balance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;One offshore supplier and one domestic supplier accounted for approximately 21% and 12%, respectively, of our total expenditures for the twelve months ended December&#160;31, 2020. At December&#160;31, 2020, this same offshore supplier accounted for approximately 44% of our trade accounts payable balance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Product development&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Product development expenses include salaries, contractor and consulting fees, supplies and materials, as well as costs related to other overhead items such as depreciation and facilities costs. Research and development costs are expensed as they are incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net loss per share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a reconciliation of basic and diluted loss per share computations (in thousands, except per share amounts):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,886)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,981)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted weighted average common shares outstanding*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*Shares outstanding for prior periods have been restated for the 1-for-5 stock split effective June 11, 2020.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the net loss we incurred for the year ended December&#160;31, 2021, options, warrants and convertible preferred stock representing approximately 51&#160;thousand, 47&#160;thousand and 260&#160;thousand shares of common stock, respectively, were excluded from the basic loss per share calculation because their inclusion would have been anti-dilutive. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the approximately 85&#160;thousand shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic EPS.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the net loss we incurred for the year ended December&#160;31, 2020, options, restricted share units, warrants and convertible preferred stock representing approximately 69 thousand, 4&#160;thousand, 174&#160;thousand and 506&#160;thousand shares of common stock, respectively, were excluded from the basic EPS calculation as their inclusion would have been anti-dilutive.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize compensation expense based on the estimated grant date fair value under the authoritative guidance. Management applies the Black-Scholes option pricing model to value stock options issued to employees and directors and applies judgment in estimating key assumptions that are important elements of the model in expense recognition. These elements include the expected life of the option, the expected stock-price volatility, and expected forfeiture rates. Compensation expense is generally amortized on a straight-line basis over the requisite service period, which is generally the vesting period. See Note 10, &#x201c;Stockholders&#x2019; Equity,&#x201d; for additional information. Common stock, stock options, and warrants issued to non-employees that are not part of an equity offering are accounted for under the applicable guidance under Accounting Standards Codification (&#x201c;ASC&#x201d;) 505-50, &#x201c;Equity-Based Payments to Non-Employees,&#x201d; and are generally re-measured at each reporting date until the awards vest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Advertising expenses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Advertising expenses are charged to operations in the period incurred. They consist of costs for the placement of our advertisements in various media and the costs of demos provided to potential distributors of our products. Advertising expenses were $0.4 million and $0.1 million for the years ended December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Product warranties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We warrant our commercial and MMM LED products and controls for periods generally ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f2241f38-2999-4d07-a4c3-3f46b21079ae"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f99b5010-37ff-40ae-9fe5-83566fecd2e0"&gt;five&lt;/span&gt;&lt;/span&gt; to ten years and from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1Mjk_fbbd22c1-2b2b-46a1-8c5e-8410f2bdbbb7"&gt;one&lt;/span&gt; to five years for UVCD products. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes warranty activity for the periods presented (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.564%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at the beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accruals for warranties issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustments to existing warranties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Settlements made during the year (in kind)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accrued warranty reserve at the end of the period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recently adopted accounting pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;In November 2021, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued ASU No. 2021-10, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%"&gt;Government Assistance (Topic 832)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt; (&#x201c;ASU 2021-10&#x201d;), in order to increase the transparency of government assistance by requiring the disclosure of: (i) types of assistance; (ii) an entity&#x2019;s accounting for the assistance; and (iii) the effect of the assistance on an entity&#x2019;s financial statements. ASU 2021-10 is effective for all entities (including smaller reporting companies) for financial statements issued for annual periods beginning after December 15, 2021, with early adoption permitted. The amendments in ASU 2021-10 should be applied either prospectively to all transactions within scope reflected in the financial statements after the effective date, or retrospectively to those same transactions. The Company has early adopted the new standard effective as of December 31, 2021. Refer to Note 13 &#x201c;Other Income,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2020, the FASB issued ASU No. 2020-06, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (&#x201c;ASU 2020-06&#x201d;), to simplify accounting for certain financial instruments with characteristics of liabilities or equity. ASU 2020-06 is effective for smaller reporting companies for fiscal years beginning after December 15, 2023 and interim periods therein. Early adoption is permitted beginning January 1, 2021. The new guidance: (i) eliminates the current models that require separation of beneficial conversion and cash conversion features from convertible instruments; (ii) simplifies the derivative scope exception guidance pertaining to equity classification of contracts in an entity&#x2019;s own equity; (iii) introduces additional disclosures for convertible debt and freestanding instruments that are indexed to and settled in an entity&#x2019;s own equity; and (iv) amends the diluted earnings per share guidance, including the requirement to use the if-converted method for all convertible instruments. The Company early adopted the new standard effective January 1, 2021. The adoption of ASU 2020-06 did not have an impact on the Company&#x2019;s financial position or results of operations upon adoption.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recently issued accounting pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the FASB issued ASU No. 2016-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. This standard will be effective for interim and annual periods starting after December 15, 2022 and will generally require adoption on a modified retrospective basis. We are in the process of evaluating the impact of the standard.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTYx_fef3b3b5-3931-4b4c-adbc-685165b2fd14">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Use of estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements, and the reported amounts of revenues and expenses during the reporting periods presented. Estimates include, but are not limited to, the establishment of reserves for accounts receivable, sales returns, inventory excess and obsolescence reserve and warranty claims, the useful lives for property and equipment and stock-based compensation. In addition, estimates and assumptions associated with the determination of the fair value of financial instruments and evaluation of long-lived assets for impairment requires considerable judgment. Actual results could differ from those estimates and such differences could be material.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDgz_94b753a4-537d-4730-bdf3-c1e0102ae77b">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Basis of presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Consolidated Financial Statements include the accounts of the Company. All significant inter-company balances and transactions have been eliminated. Unless indicated otherwise, the information in the Notes to Consolidated Financial Statements relates to our operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTIw_1092c4c8-8bee-46ee-bdec-c484ee84d031">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales include revenues from sales of products and shipping and handling charges, net of estimates for product returns. Revenue is measured at the amount of consideration we expect to receive in exchange for the transferred products. We recognize revenue at the point in time when we transfer the promised products to the customer and the customer obtains control over the products. Distributors&#x2019; obligations to us are not contingent upon the resale of our products. We recognize revenue for shipping and handling charges at the time the goods are shipped to the customer, and the costs of outbound freight are included in cost of sales. We provide for product returns based on historical return rates. While we incur costs for sales commissions to our sales employees and outside agents, we recognize commission costs concurrent with the related revenue, as the amortization period is less than one year. We do not incur any other incremental costs to obtain contracts with our customers. Our product warranties are assurance-type warranties, which promise the customer that the products are as specified in the contract. Therefore, the product warranties are not a separate performance obligation and are accounted for as described below. Sales taxes assessed by governmental authorities and collected by us are accounted for on a net basis and are excluded from net sales.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A disaggregation of product net sales is presented in Note 12, &#x201c;Product and Geographic Information.&#x201d;&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTMw_0b7fbd41-d2a1-4cb4-ba51-22309077a9f3">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cash and restricted cash&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2021, we had cash of $2.7 million and at December&#160;31, 2020, we had cash and restricted cash of $2.2 million on deposit with financial institutions located in the United States. The December&#160;31, 2020 cash balance of $2.2 million of cash includes restricted cash of $0.3 million which is presented within prepaid and other current assets and other assets in the accompanying Consolidated Balance Sheets. Please refer to Note 4, &#x201c;Leases,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzMwMzc_07124760-5946-4ed5-a2fc-eef5725d34d8"
      unitRef="usd">2700000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzMwNDQ_48a50bec-dafa-4876-aa55-33a1427db931"
      unitRef="usd">2200000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NTc1ODY_48a50bec-dafa-4876-aa55-33a1427db931"
      unitRef="usd">2200000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NTc1OTA_bdcf9589-8d1a-4960-9f67-832c9b4cf082"
      unitRef="usd">300000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDc2_110b1ea3-abbf-461e-b9ab-4438ac5cc3f9">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We state inventories at the lower of standard cost (which approximates actual cost determined using the first-in-first-out method) or net realizable value. We establish provisions for excess and obsolete inventories after evaluation of historical sales, current economic trends, forecasted sales, product lifecycles, and current inventory levels. The assessment is both quantitative and qualitative. During 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components. This resulted in a net increase of our gross inventory levels of $2.4&#160;million. We had an increase of excess inventory reserves of $0.2&#160;million as compared to 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assessment for excess and obsolete inventories for 2020 not only included both quantitative and qualitative components, but a COVID-19 pandemic impact analysis as well. Throughout 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand which resulted in a net reduction of our gross inventory levels of $1.2&#160;million and excess inventory reserves of $0.6&#160;million compared to 2019. Adjustments to our estimates, such as forecasted sales and expected product lifecycles, could harm our operating results and financial position. Please refer to Note 5, &#x201c;Inventories,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
    <efoi:IncreaseDecreaseInInventoryLevelsGross
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODkwMzM_7051da46-9eb0-4b80-9e5c-cf159fbc50c1"
      unitRef="usd">2400000</efoi:IncreaseDecreaseInInventoryLevelsGross>
    <efoi:IncreaseDecreaseInInventoryReserves
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODkwNzI_673ed88f-1549-42fb-8285-1241d0ee76dd"
      unitRef="usd">200000</efoi:IncreaseDecreaseInInventoryReserves>
    <efoi:IncreaseDecreaseInInventoryLevelsGross
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODkzMTE_abcef1bd-5e0f-4b81-a6f8-9680ee01af60"
      unitRef="usd">-1200000</efoi:IncreaseDecreaseInInventoryLevelsGross>
    <efoi:IncreaseDecreaseInInventoryReserves
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODkzNDg_99b0cabd-7f7f-4a29-b9f5-281157e8f4e5"
      unitRef="usd">600000</efoi:IncreaseDecreaseInInventoryReserves>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDk2_b2bb0ac5-58f0-44a1-8bbc-427c532a7581">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accounts receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our trade accounts receivable consists of amounts billed to and currently due from customers. Our customers are concentrated in the United States. In the normal course of business, we extend unsecured credit to our customers related to the sale of our products. Credit is extended to customers based on an evaluation of the customer&#x2019;s financial condition and the amounts due are stated at their estimated net realizable value. We utilize a third-party account receivables insurance program with a very high credit worthy insurance company where we have the large majority of the accounts receivable insured with a portion of self-retention. This third party also provides credit-worthiness ratings and metrics that significantly assist us in evaluating the credit worthiness of both existing and new customers. We maintain allowances for sales returns and doubtful accounts receivable to provide for the estimated amount of account receivables that will not be collected. The allowance is based on an assessment of customer creditworthiness and historical payment experience, the age of outstanding receivables, and performance guarantees to the extent applicable. Past due amounts are written off when our internal collection efforts have been unsuccessful, and payments subsequently received on such receivables are credited to the allowance for doubtful accounts. We do not generally require collateral from our customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our standard payment terms with customers are net 30 days from the date of shipment, and we do not generally offer extended payment terms to our customers, but exceptions are made in some cases to major customers or with particular orders. Accordingly, we do not adjust trade accounts receivable for the effects of financing, as we expect the period between the transfer of product to the customer and the receipt of payment from the customer to be in line with our standard payment terms.&lt;/span&gt;&lt;/div&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <efoi:ContractWithCustomerPaymentTerms
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzYyMDc_41a574b9-88af-49be-9a49-7c42af5e55b2">P30D</efoi:ContractWithCustomerPaymentTerms>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTQy_4f9b6dbb-66f9-416a-8523-d8c8b59d8cc5">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Income taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of the process of preparing the Consolidated Financial Statements, we are required to estimate our income tax liability in each of the jurisdictions in which we do business. This process involves estimating our actual current tax expense together with assessing temporary differences resulting from differing treatment of items, such as deferred revenues, for tax and accounting purposes. These differences result in deferred tax assets and liabilities, which are included in our Consolidated Balance Sheets. We then assess the likelihood of the deferred tax assets being recovered from future taxable income and, to the extent we believe it is more likely than not that the deferred tax assets will not be recovered, or is unknown, we establish a valuation allowance. Significant management judgment is required in determining our provision for income taxes, deferred tax assets and liabilities, and any valuation allowance recorded against our deferred tax assets. At December&#160;31, 2021 and 2020, we have recorded a full valuation allowance against our net deferred tax assets due to uncertainties related to our ability to utilize our deferred tax assets, primarily consisting of certain net operating losses carried forward. The valuation allowance is based upon our estimates of taxable income by jurisdiction and the period over which our deferred tax assets will be recoverable. In considering the need for a valuation allowance, we assess all evidence, both positive and negative, available to determine whether all or some portion of the deferred tax assets will not be realized.&#160;Such evidence includes, but is not limited to, recent earnings history, projections of future income or loss, reversal patterns of existing taxable and deductible temporary differences, and tax planning strategies.&#160;We continue to evaluate the need for a valuation allowance on a quarterly basis.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDgw_b85dc7a4-5b76-4fcb-aeca-3ff3f85be29f">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;December 2021 Private Placement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we completed a private placement (the &#x201c;December 2021 Private Placement&#x201d;) with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) pre-funded warrants (&#x201c;Pre-Funded Warrants&#x201d;) to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#x201c;December 2021 Warrants&#x201d;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. We paid the placement agent commissions of $360&#160;thousand, plus $42&#160;thousand in expenses, in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $97&#160;thousand related to the December 2021 Private Placement. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021. Net proceeds to us from the December 2021 Private Placement were approximately $4.0 million. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the 85,228 shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic earnings per share (&#x201c;EPS&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of 1,363,641 shares remained outstanding, with a weighted average exercise price of $3.30 per share. None of the December 2021 Warrants were exercised as of December&#160;31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5&#160;million in the aggregate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;June 2021 Equity Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2021, we completed a registered direct offering of 990,100 shares of our common stock to certain institutional investors, at a purchase price of $5.05 per share (the &#x201c;June 2021 Equity Offering&#x201d;). We paid the placement agent commissions of $400 thousand, plus $51 thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $19 thousand related to the June 2021 Equity Offering. Total offering costs of $470 thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $4.5 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;January 2020 Equity Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share (the, &#x201c;Investor Warrants&#x201d;) in a concurrent private placement (together with the concurrent registered direct offering, the &#x201c;January 2020 Equity Offering&#x201d;) for a purchase price of $0.625 per warrant. We paid the placement agent commissions of $193&#160;thousand plus $50&#160;thousand in expenses in connection with the January 2020 Equity Offering and we also paid legal, accounting and other fees of $231&#160;thousand related to the January 2020 Equity Offering. Total offering costs of $510&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020. In addition, we issued warrants to the placement agent to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share (together with the Investor Warrants, the &#x201c;January 2020 Warrants&#x201d;). Net proceeds to us from the January 2020 Equity Offering were approximately $2.3 million. In accordance with the terms of the Iliad Note (as defined below in Note 8, &#x201c;Debt&#x201d;), 10% of the gross proceeds from the January 2020 Equity Offering ($275 thousand) were used to make payments on the Iliad Note, of which $226 thousand went towards the outstanding principal amount and the balance to interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, January 2020 Warrants issued to purchase an aggregate of 229,414 shares remain outstanding with a weighted average exercise price of $3.67 per share. During the twelve months ended December&#160;31, 2021, 237,892 January 2020 Warrants were exercised resulting in total proceeds of $801 thousand. The exercise of the remaining January 2020 Warrants outstanding could provide us with cash proceeds of up to $841 thousand in the aggregate. At December&#160;31, 2020, January 2020 Warrants issued to purchase an aggregate of 467,306 shares remained outstanding with a weighted average exercise price of $3.51 per share. During the twelve months ended December&#160;31, 2020, 269,240 January 2020 Warrants were exercised resulting in total proceeds of $918 thousand.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to a potential cash settlement upon occurrence of a fundamental transaction within the January 2020 Equity Offering warrant agreement, the January 2020 Warrants were initially classified as liabilities, as opposed to equity, and were recorded at their fair values at each balance sheet date for the first three quarters of 2020. During December 2020, the warrant holders agreed to a modification of the terms of their January 2020 Warrants which removed the potential cash settlement option upon the occurrence of a fundamental transaction. As such, during the fourth quarter of 2020, the warrant liability was fair-valued through the modification date and then was reclassified into equity and the January 2020 Warrants are no longer subject to re-measurement at each balance sheet date. Please also refer to Note 10, &#x201c;Stockholders&#x2019; Equity&#x201d;.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair value measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received to sell an asset or would be paid to transfer a liability in an orderly transaction between market participants on the measurement date. The fair value of financial assets and liabilities are measured on a recurring or non-recurring basis. Financial assets and liabilities measured on a recurring basis are those that are adjusted to fair value each time a financial statement is prepared. Financial assets and liabilities measured on a non-recurring basis are those that are adjusted to fair value when a significant event occurs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We utilize valuation techniques that maximize the use of available market information and generally accepted valuation methodologies. We assess the inputs used to measure fair value using a three-tier hierarchy. The fair value hierarchy prioritizes the inputs to valuation techniques used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 measurements) and the lowest priority to unobservable inputs (Level 3 measurements).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The three levels of the fair value hierarchy are described below. We classify the inputs used to measure fair value into the following hierarchy:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:89.291%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unadjusted quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unadjusted quoted prices in active markets for similar assets or liabilities, or unadjusted quoted prices for identical or similar assets or liabilities in markets that are not active, or inputs other than quoted prices that are observable for the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Unobservable inputs for the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of certain financial instruments including cash, accounts receivable, accounts payable, and accrued liabilities approximate fair value due to their short maturities. Based on borrowing rates currently available to us for loans with similar terms, the carrying value of borrowings under our revolving credit facilities also approximates fair value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A financial instrument&#x2019;s level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. In determining the appropriate levels, we perform a detailed analysis of the assets and liabilities whose fair value is measured on a recurring basis. We review and reassess the fair value hierarchy classifications on a quarterly basis. Changes from one quarter to the next related to the observability of inputs in a fair value measurement may result in a reclassification between fair value hierarchy levels. There were no reclassifications for all periods presented.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQxNDQ_baa4f697-7e58-415b-9451-470d43afe2f8"
      unitRef="shares">1193185</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQxOTg_cea686d2-ce74-43d1-b27f-a8b20833789d"
      unitRef="usdPerShare">3.52</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i799339feb3544dceb3651c859ca2431e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQzMjM_7b626d6e-5bf4-4707-b467-6688e2093f1a"
      unitRef="shares">85228</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i799339feb3544dceb3651c859ca2431e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQzNzQ_2d71b3df-37fa-4978-b84a-ebd6432c4a97"
      unitRef="usdPerShare">0.0001</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTQ4NTI_b82f1fb9-3145-43d8-9ef9-8ff870abd8ab"
      unitRef="shares">1278413</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQ0NTk_6851d904-8bb0-4567-8bd7-72dd6b4304b9"
      unitRef="usdPerShare">3.52</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:PaymentsForPlacementAgentCommissions
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQ1MDY_8114b4f1-285e-4065-a08a-ec51daf12dd3"
      unitRef="usd">360000</efoi:PaymentsForPlacementAgentCommissions>
    <efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzQ1MTU_a6b6a2af-3e88-4910-9ae7-0fcfd669728a"
      unitRef="usd">42000</efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement>
    <efoi:PaymentsForClearingFees
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODcwMTY_c574e493-7117-4102-931f-df42665d2ecf"
      unitRef="usd">97000</efoi:PaymentsForClearingFees>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg1OTc_c21246fc-3f50-46ed-a540-61fd70e960ab"
      unitRef="usd">499000</us-gaap:PaymentsOfStockIssuanceCosts>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODcwNjA_5b255d64-a49f-4a66-91f1-a48cb699a2f1"
      unitRef="usd">4000000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="iaf95a417971c4d3c9fcaf6869f7c9de2_D20211216-20211216"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYxODM_18691dda-0244-4a2d-bd81-6d5bcb370cce"
      unitRef="shares">85228</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzU1MTY_ef83c784-d95b-49cc-9e67-7ce23652cbf6"
      unitRef="shares">1363641</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg2OTE_e708ccf9-f71b-463a-9a49-138c70034f8e"
      unitRef="usdPerShare">3.30</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NDM_ea1cd8aa-2354-4873-9ea4-3f7e64b9d869"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <efoi:EstimatedProceedsFromIssuanceOfWarrants
      contextRef="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg2OTk_2cddc023-f88a-4616-b05f-d556d88a6255"
      unitRef="usd">4500000</efoi:EstimatedProceedsFromIssuanceOfWarrants>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3NjE_3a1ba930-9bc3-43bb-8bd5-21a834b125f8"
      unitRef="shares">990100</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i4ac6002703434a738c92731a1f8c20a4_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3NjU_621ba086-afd0-4f80-90ff-2d0b67e36a79"
      unitRef="usdPerShare">5.05</us-gaap:SaleOfStockPricePerShare>
    <efoi:PaymentsForPlacementAgentCommissions
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3Njk_8fffb541-a203-48d1-a5d5-af4c950be948"
      unitRef="usd">400000</efoi:PaymentsForPlacementAgentCommissions>
    <efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3NzY_506f28cb-c034-4745-9c2b-e2e28d68dd6e"
      unitRef="usd">51000</efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement>
    <efoi:PaymentsForClearingFees
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM3ODQ_6024cff1-398e-4627-b02a-a43b407d9866"
      unitRef="usd">19000</efoi:PaymentsForClearingFees>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i9eb363c6d5c64b9cab13bd8c2ac85bb5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg1ODA_220bc068-eeb6-44d1-aad6-cc14590271d0"
      unitRef="usd">470000</us-gaap:PaymentsOfStockIssuanceCosts>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM4MDY_cd15d5d4-e868-4efe-9155-05ecad1bd9e3"
      unitRef="usd">4500000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i0bc7e1aeb5a14658bf73734e7e6794b3_D20200101-20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYxOTA_774a9135-becf-48aa-9200-7cb766329a07"
      unitRef="shares">688360</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzM5NjM_c8b17138-b864-41e9-85f5-6fe3911175d1"
      unitRef="usdPerShare">3.37</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzk5Njg_96944119-2c05-4829-8a92-a769b36bd98e"
      unitRef="shares">688360</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYxOTc_9eaff095-d32e-4a77-8896-286a7cc0fe44"
      unitRef="usdPerShare">3.37</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare
      contextRef="i0bc7e1aeb5a14658bf73734e7e6794b3_D20200101-20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwMDg5_aba8fbf7-7a0a-4c6c-b13f-5c557ee681d0"
      unitRef="usdPerShare">0.625</efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare>
    <efoi:PaymentsForPlacementAgentCommissions
      contextRef="ibd4491c4aa0242a08978313e98355d75_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwMTQ4_bf653827-2b9b-4350-b84b-7d111b8e7599"
      unitRef="usd">193000</efoi:PaymentsForPlacementAgentCommissions>
    <efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement
      contextRef="ibd4491c4aa0242a08978313e98355d75_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwMTU2_dd474d02-5f1d-45c3-a16a-0294add4c847"
      unitRef="usd">50000</efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement>
    <efoi:PaymentsForClearingFees
      contextRef="ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwMzEx_5134b443-4331-418d-b490-bd88e6462408"
      unitRef="usd">231000</efoi:PaymentsForClearingFees>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYzNjE_7b234724-3b9f-4c16-a858-8da0f684fd09"
      unitRef="usd">510000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYzNjE_b9779607-0094-4801-92e0-024dd9bfbc9d"
      unitRef="usd">510000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i51fd134972bb49a29fb470ad962be792_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwNTk4_de9561d7-bb91-484e-9d9a-fb8b4a5fdd07"
      unitRef="shares">48185</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i51fd134972bb49a29fb470ad962be792_I20200131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwNjQ4_8a3a665c-4c3d-42dd-a15a-81df7436eb58"
      unitRef="usdPerShare">4.99</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwNzgw_87c1ae1e-c91f-4df2-9002-0403fbab0714"
      unitRef="usd">2300000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <efoi:DebtInstrumentProceedsToBePaidToLenderPercent
      contextRef="ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwODY5_27b94b0e-7453-4fba-8828-2c454508208f"
      unitRef="number">0.10</efoi:DebtInstrumentProceedsToBePaidToLenderPercent>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTMz_2b7cd007-41a8-4a09-ae2c-e38356233bf3"
      unitRef="usd">275000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i22379ce6d882415580b9a3b1a8bb4ca4_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTky_e500e83b-5448-467a-99d5-5ef53d762875"
      unitRef="usd">226000</us-gaap:RepaymentsOfNotesPayable>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i22825782b9084bab96299f33f2d30063_D20211001-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzExMTA4_298e9941-1f77-4800-b51c-42f608ea5895"
      unitRef="shares">229414</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i8628db2e2b61425aaaf641132a92d948_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzExMjAw_9bd61e30-6215-40de-95ea-74aa11f5c2ce"
      unitRef="usdPerShare">3.67</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzExMjY0_9f314766-7ef8-4a65-9d08-28ee5794f84e"
      unitRef="shares">237892</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzM4NTc_b36444bc-b13a-43af-ae97-33d1de77e8c5"
      unitRef="usd">801000</us-gaap:ProceedsFromWarrantExercises>
    <efoi:EstimatedProceedsFromIssuanceOfWarrants
      contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzExNDIy_d0da7db5-3f16-44e1-9731-42b4acb51a5f"
      unitRef="usd">841000</efoi:EstimatedProceedsFromIssuanceOfWarrants>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2NzgxMTU_99f41283-bbc7-4bfc-b9c5-5bf0a86eaa43"
      unitRef="shares">467306</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i6d86f65a6e1049119ca2876d0ea6c6ad_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3MzE_f881fa14-6d7e-4b67-ae33-d3a2f98d6b4d"
      unitRef="usdPerShare">3.51</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3MjI_78d13cba-6707-4d27-80da-717e4ca197bc"
      unitRef="shares">269240</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2Nzg1NzM_9b8fa5d9-bc02-42c3-b627-6a959530c91e"
      unitRef="usd">918000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDk0_2e7c8a7e-f39d-401d-9572-00bf154c5ef1">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A roll-forward of fair value measurements using significant unobservable inputs (Level 3) for the January 2020 Warrants issued in the January 2020 Equity Offering is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.368%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:79.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.270%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Twelve months ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;Balance January 1, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Issuance of warrants, January 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;1,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Settlements from exercise&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,317)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Loss from change in fair value of warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;1,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Reclassification to equity upon modification &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;(1,405)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;Balance December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrent
      contextRef="iea9fe4df11ca499a8ed5718af6f1e6ee_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzEtMS0xLTEtMA_63816a06-5ca1-4b41-8453-53a5bd96ff1b"
      unitRef="usd">0</us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrent>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
      contextRef="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzItMS0xLTEtMA_0c168bb1-c796-43da-850d-5c0352abfb03"
      unitRef="usd">1636000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzMtMS0xLTEtMA_7353d3e0-af88-4d56-a009-e0ef4bf1aac5"
      unitRef="usd">1317000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzQtMS0xLTEtMA_d9454df1-c556-4778-91c8-3a52c51f1e21"
      unitRef="usd">1086000</us-gaap:FairValueAdjustmentOfWarrants>
    <efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified
      contextRef="i756fa23fa1064847b4e9fee0ee04c14b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzUtMS0xLTEtMA_69577590-5a73-4c10-b8bd-7d87b4a9d75c"
      unitRef="usd">1405000</efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified>
    <us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrent
      contextRef="ie92b82ead9a141f68ef7e1ffd7d22e96_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo4ZTljYzZmMTg4NzE0ZTQ4YWQ3NjAzODg4YTlkNTczNy90YWJsZXJhbmdlOjhlOWNjNmYxODg3MTRlNDhhZDc2MDM4ODhhOWQ1NzM3XzYtMS0xLTEtMA_bc9a5980-b711-4285-8333-67b38f687e23"
      unitRef="usd">0</us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrent>
    <efoi:LongLivedAssetsPolicyPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTY1_1d9f9d5f-63bf-43d7-910e-d9d244b42b58">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Long-lived assets&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost and include expenditures for additions and major improvements. Expenditures for repairs and maintenance are charged to operations as incurred. We use the straight-line method of depreciation over the estimated useful lives of the related assets (generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDA5_a382e080-4adf-47d2-b9ae-c9ef896c4927"&gt;two&lt;/span&gt; to 15 years) for financial reporting purposes. Accelerated methods of depreciation are used for federal income tax purposes. When assets are sold or otherwise disposed of, the cost and accumulated depreciation are removed from the accounts and any gain or loss is reflected in the Consolidated Statements of Operations. Refer to Note 6, &#x201c;Property and Equipment,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;Long-lived assets are reviewed for impairment whenever events or circumstances indicate the carrying amount may not be recoverable. Events or circumstances that would result in an impairment review primarily include operations reporting losses, a significant change in the use of an asset, or the planned disposal or sale of the asset. The asset would be considered impaired when the future net undiscounted cash flows generated by the asset are less than its carrying value. An impairment loss would be recognized based on the amount by which the carrying value of the asset exceeds its fair value, as determined by quoted market prices (if available) or the present value of expected future cash flows.</efoi:LongLivedAssetsPolicyPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i131e048a20ad40778e3bce72ff3d1b56_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE1MDE1_82feec15-e273-4c02-a33c-e06a449b5938">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTM5_e701d474-6ef6-4185-b690-aabec1b2fba2">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Certain risks and concentrations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically our products were sold through a direct sales model, which included a combination of direct sales employees, electrical and lighting contractors, and distributors. We utilize a third-party accounts receivable insurance and credit assessment company. Although we maintain allowances for potential credit losses that we believe to be adequate, a payment default on a significant sale could materially and adversely affect our operating results and financial condition, although we have mitigated this risk somewhat through the accounts receivable insurance program.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have certain customers whose net sales individually represented 10% or more of our total net sales, or whose net trade accounts receivable balance individually represented 10% or more of our total net trade accounts receivable, as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;In 2021, two customers accounted for 43% of net sales, with sales to our primary distributor for the U.S. Navy accounting for approximately 30% and sales to a regional commercial lighting retrofit company accounting for approximately 13% of net sales. When sales to our primary distributor for the U.S. Navy are combined with sales to shipbuilders for the U.S. Navy, total net sales of products for the U.S. Navy comprised approximately 38% of net sales for the same period. In 2020, two customers accounted for 62% of net sales and total net sales of products to the U.S. Navy represented 53% of net sales.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;At December&#160;31, 2021, a distributor to the U.S. Department of Defense accounted for 20% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 36% of our net trade accounts receivable. At December&#160;31, 2020, a distributor to the U.S. Navy accounted for 28% of our net trade accounts receivable and a shipbuilder for the U.S. Navy accounted for 21% of our net trade accounts receivable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We require substantial amounts of purchased materials from selected vendors. With specific materials, all of our purchases are from a single vendor. The availability and costs of materials may be subject to change due to, among other things, new laws or regulations, suppliers&#x2019; allocation to other purchasers, interruptions in production by suppliers, global health issues such as the COVID-19 pandemic, and changes in exchange rates and worldwide price and demand levels. Our inability to obtain adequate supplies of materials for our products at favorable prices could have a material adverse effect on our business, financial position, or results of operations by decreasing our profit margins and by hindering our ability to deliver products to our customers on a timely basis. Additionally, certain vendors require advance deposits prior to the fulfillment of orders. Deposits paid on unfulfilled orders totaled $0.7 million and $0.8 million at December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i0407c3454dac466ca692bb5dc373440a_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyMzQ_2d4b5b85-829a-48de-a88d-bc7261bfffae"
      unitRef="number">0.43</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia1f1d99e13ce4b0697ca14182754b38e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyMzk_dc481378-a44e-4247-b18a-9f23e2ebe786"
      unitRef="number">0.30</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i430f40cd8f324015a412199f2462e875_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyNDQ_77da9c0b-03e2-42e9-b79d-135c2e49b29a"
      unitRef="number">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i059b76e018c940078a5686b2fb857398_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyNDk_66bb2728-afc9-4568-a2c4-34786b230bf3"
      unitRef="number">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i7f0fe993784145da9226d0e3ffd78d90_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQxOTY_f2c7b3fa-a7d9-476d-a87c-9b6696db0c1f"
      unitRef="number">0.62</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i750376cb794d4c869109479015bc1a33_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyMDA_c9f86b12-a570-48d5-bca8-6dace5fef122"
      unitRef="number">0.53</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iabe6066483d745a2bd8e4f16c03bf3b7_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc1MDEwMDA_80efc735-0b85-441f-a442-09611458fd45"
      unitRef="number">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia5de75883c284563a1fe3cb2a32a6e23_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQzNTA_f0843ac9-b89b-4b3d-902b-184be20fa359"
      unitRef="number">0.36</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id9434a3a42e644eca2f69a6961ae8ca6_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyNzM_6bfcf05f-c8ce-4eee-ba14-2762caa7f0ed"
      unitRef="number">0.28</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8b096b5651cb4df5b30716792f78998e_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQyNzg_ebb850aa-3787-4097-be5a-7032cac51004"
      unitRef="number">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:Supplies
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE5MTM3_c0cf7004-ae22-4a58-9881-16260abe28e6"
      unitRef="usd">700000</us-gaap:Supplies>
    <us-gaap:Supplies
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE5MTQ0_84efcb22-918e-42b8-9afe-d0b494febf1a"
      unitRef="usd">800000</us-gaap:Supplies>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ie788230b50704df49443496aa5725919_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODc3OTY_3a10bb47-21b7-47fe-a40a-eb3a21f84dba"
      unitRef="number">0.29</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4f13a84e600a41808ea8c940ed89de00_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2ODcwNzM_69a1772a-6c66-4999-9f02-28a6bee9c5b5"
      unitRef="number">0.60</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i9c856b90ccdc4e89ad30b2395e7e5e37_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQ5MTk_cc26a7f6-67dd-49bf-b4e6-d7792170cf34"
      unitRef="number">0.21</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i13186d1aaba445bab2d696ef4e0223a1_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzQ5Mjc_5ef0803a-7161-4f90-ada0-daed436604d9"
      unitRef="number">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ifb7a33f31fd04106b33a21451801ada5_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzUwNjk_29c57082-3b8c-40d6-801d-9ecea984139f"
      unitRef="number">0.44</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTU5_8a9fef34-2fa8-40f6-95ad-c4c1358939f3">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Product development&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Product development expenses include salaries, contractor and consulting fees, supplies and materials, as well as costs related to other overhead items such as depreciation and facilities costs. Research and development costs are expensed as they are incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTM1_d8ee5eec-3cb6-40af-8462-113ac387447c">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net loss per share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic loss per share is computed by dividing net loss available to common stockholders by the weighted average number of shares of common stock outstanding during the period, excluding the effects of any potentially dilutive securities. Diluted loss per share gives effect to all dilutive potential shares of common stock outstanding during the period. Dilutive potential shares of common stock consist of incremental shares upon the exercise of stock options, warrants and convertible securities, unless the effect would be anti-dilutive.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NDc1_c41ecc0b-b998-44b7-8106-9077443545f1">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a reconciliation of basic and diluted loss per share computations (in thousands, except per share amounts):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.519%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.522%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss &lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,886)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,981)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted weighted average common shares outstanding*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,270&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*Shares outstanding for prior periods have been restated for the 1-for-5 stock split effective June 11, 2020.&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzMtMS0xLTEtMA_6afe4aaf-8049-4cce-a2f0-10b143ce7548"
      unitRef="usd">-7886000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzMtMy0xLTEtMA_23c3346c-1830-46b3-b801-b9c3289fbabb"
      unitRef="usd">-5981000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzYtMS0xLTEtMA_2511b854-fa2e-44e8-bbec-f87be5f78eab"
      unitRef="shares">4561000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzYtMS0xLTEtMA_8c2a6f27-c2d9-4b38-ab87-fcd542767903"
      unitRef="shares">4561000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzYtMy0xLTEtMA_a76698a8-e585-4478-a1bc-60d543b58752"
      unitRef="shares">3270000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTo0YTg2ODIyNjI2MWU0ZWVkYjZjNzRiYjBiY2E0NDc1NC90YWJsZXJhbmdlOjRhODY4MjI2MjYxZTRlZWRiNmM3NGJiMGJjYTQ0NzU0XzYtMy0xLTEtMA_f0795155-4ce1-45ff-b32a-0c4156cd5ffc"
      unitRef="shares">3270000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i851a20cb6a754010b44d41cba9df3b6b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxMTEy_15a74d00-64a7-4197-976a-007e83d8bb51"
      unitRef="shares">51000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3fbe33cd32d64414882b5052c8bd62be_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxMTIw_97e1b2b9-1c92-49dc-b657-ac071b5bf110"
      unitRef="shares">47000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i319c417e94584500bb7d1a95d51fd093_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxMTI3_678b4d0a-1523-4d2a-8225-85921820e475"
      unitRef="shares">260000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="iaf95a417971c4d3c9fcaf6869f7c9de2_D20211216-20211216"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzEwOTk1MTE2OTYxMjI_dc95095a-036b-4e00-9dc4-73324c3e0540"
      unitRef="shares">85000</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i00ac08bc45774af7ad03fee20400dd3a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxNDA3_ccc4ce6a-e605-4a4b-a75c-916a2283cfbb"
      unitRef="shares">69000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIxNDE0_e88dcd83-48d9-402f-8a0f-207960af217a"
      unitRef="shares">4000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i092a353c26434c8a888f1bd3a1182154_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzUyNjA_9cad4a1e-8b34-4afd-8d95-bb052b0ae943"
      unitRef="shares">174000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ice32535f03564e3d869fac3c20a1c3df_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzE2NDkyNjc0NzUyNzA_65b75fdd-2f08-4778-a5c5-e0c51b507224"
      unitRef="shares">506000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTQz_72b1ee34-47be-4937-bf5e-01f7e7fd1259">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize compensation expense based on the estimated grant date fair value under the authoritative guidance. Management applies the Black-Scholes option pricing model to value stock options issued to employees and directors and applies judgment in estimating key assumptions that are important elements of the model in expense recognition. These elements include the expected life of the option, the expected stock-price volatility, and expected forfeiture rates. Compensation expense is generally amortized on a straight-line basis over the requisite service period, which is generally the vesting period. See Note 10, &#x201c;Stockholders&#x2019; Equity,&#x201d; for additional information. Common stock, stock options, and warrants issued to non-employees that are not part of an equity offering are accounted for under the applicable guidance under Accounting Standards Codification (&#x201c;ASC&#x201d;) 505-50, &#x201c;Equity-Based Payments to Non-Employees,&#x201d; and are generally re-measured at each reporting date until the awards vest.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTA5_8bada8a8-2de5-4f41-9819-b3a38058b631">Advertising expensesAdvertising expenses are charged to operations in the period incurred. They consist of costs for the placement of our advertisements in various media and the costs of demos provided to potential distributors of our products.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIzMzkz_24cfa14d-8328-47c1-909e-6de598ca1a2b"
      unitRef="usd">400000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzIzNDAw_236ef072-486f-493d-a8e6-f0c0554683ae"
      unitRef="usd">100000</us-gaap:AdvertisingExpense>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTE4_d0cea0e0-1d39-4681-8fe0-a29e01948a6d">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Product warranties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We warrant our commercial and MMM LED products and controls for periods generally ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f2241f38-2999-4d07-a4c3-3f46b21079ae"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NTY_f99b5010-37ff-40ae-9fe5-83566fecd2e0"&gt;five&lt;/span&gt;&lt;/span&gt; to ten years and from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1Mjk_fbbd22c1-2b2b-46a1-8c5e-8410f2bdbbb7"&gt;one&lt;/span&gt; to five years for UVCD products. Warranty settlement costs consist of actual amounts expensed for warranty, which are largely a result of the cost of replacement products provided to our customers. A liability for the estimated future costs under product warranties is maintained for products under warranty based on the actual claims incurred to date and the estimated nature, frequency, and costs of future claims. These estimates are inherently uncertain and changes to our historical or projected experience may cause material changes to our warranty reserves in the future. We continuously review the assumptions related to the adequacy of our warranty reserve, including product failure rates, and make adjustments to the existing warranty liability when there are changes to these estimates or the underlying replacement product costs, or the warranty period expires.&lt;/span&gt;&lt;/div&gt;</us-gaap:StandardProductWarrantyPolicy>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="i700751e2c80249fdbe411f0a8747e874_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NzE_7e5166cc-73b7-4322-9e3c-0486f27595c2">P10Y</efoi:StandardProductWarrantyNumberofYears>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="ib47a6ee10bab469bbc27f70f2ce480f9_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzc3NzE_c147f6b5-5e0e-4e6e-8f7f-01fbfab95189">P10Y</efoi:StandardProductWarrantyNumberofYears>
    <efoi:StandardProductWarrantyNumberofYears
      contextRef="i800518c1883d4905a5552a07727bde63_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI3NDg3NzkxMzg1NDI_484cbf15-bac9-4e28-b1bd-d0048c048fb4">P5Y</efoi:StandardProductWarrantyNumberofYears>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTI4_cec3a004-f437-4af6-8eb7-b7b543a9c5bf">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes warranty activity for the periods presented (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.564%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at the beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accruals for warranties issued&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustments to existing warranties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Settlements made during the year (in kind)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accrued warranty reserve at the end of the period&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzItMS0xLTEtMA_aa69b6bc-77a2-485b-8060-fd4749de4a63"
      unitRef="usd">227000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzItMy0xLTEtMA_271fc86d-eea3-41e5-a57d-7a699ab450ea"
      unitRef="usd">195000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzMtMS0xLTEtMA_0f9fbb50-376e-4aa9-a6f4-b67ea78cf3e0"
      unitRef="usd">-41000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualWarrantiesIssued
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzMtMy0xLTEtMA_30f522a2-ae28-4bd3-b755-77eb39e6a5d9"
      unitRef="usd">33000</us-gaap:StandardProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzQtMS0xLTEtMA_1304be8a-1e7a-49c1-a161-7ab6c600d835"
      unitRef="usd">47000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzQtMy0xLTEtMA_b947596c-b1ad-42c8-ae15-52c5f5d1b5a5"
      unitRef="usd">19000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzUtMS0xLTEtMA_ad08bbc1-fdff-43c9-b24d-b5f04bd05759"
      unitRef="usd">-62000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualPayments
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzUtMy0xLTEtMA_6f59a82e-ce38-4e79-a362-d4d88cae153d"
      unitRef="usd">20000</us-gaap:StandardProductWarrantyAccrualPayments>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzYtMS0xLTEtMA_4018e476-987c-4427-8eea-a1d10ec0cff8"
      unitRef="usd">295000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:StandardProductWarrantyAccrualCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90YWJsZTpiOGY1N2U3MGVlMzc0ODQyYmRhYjQwYzdkMDViZDU3OC90YWJsZXJhbmdlOmI4ZjU3ZTcwZWUzNzQ4NDJiZGFiNDBjN2QwNWJkNTc4XzYtMy0xLTEtMA_d5129b23-9d65-4787-97f7-6f88d2688eb0"
      unitRef="usd">227000</us-gaap:StandardProductWarrantyAccrualCurrent>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDIvZnJhZzpjMzdlZGRiYzNjYTM0ZjYxYTI4Y2VmNGQ3YjdjMTIxZi90ZXh0cmVnaW9uOmMzN2VkZGJjM2NhMzRmNjFhMjhjZWY0ZDdiN2MxMjFmXzI5NTEz_4d4affd7-4efc-4944-b4b6-9c7172e63325">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recently adopted accounting pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;In November 2021, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued ASU No. 2021-10, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%"&gt;Government Assistance (Topic 832)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt; (&#x201c;ASU 2021-10&#x201d;), in order to increase the transparency of government assistance by requiring the disclosure of: (i) types of assistance; (ii) an entity&#x2019;s accounting for the assistance; and (iii) the effect of the assistance on an entity&#x2019;s financial statements. ASU 2021-10 is effective for all entities (including smaller reporting companies) for financial statements issued for annual periods beginning after December 15, 2021, with early adoption permitted. The amendments in ASU 2021-10 should be applied either prospectively to all transactions within scope reflected in the financial statements after the effective date, or retrospectively to those same transactions. The Company has early adopted the new standard effective as of December 31, 2021. Refer to Note 13 &#x201c;Other Income,&#x201d; for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2020, the FASB issued ASU No. 2020-06, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Debt - Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging - Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (&#x201c;ASU 2020-06&#x201d;), to simplify accounting for certain financial instruments with characteristics of liabilities or equity. ASU 2020-06 is effective for smaller reporting companies for fiscal years beginning after December 15, 2023 and interim periods therein. Early adoption is permitted beginning January 1, 2021. The new guidance: (i) eliminates the current models that require separation of beneficial conversion and cash conversion features from convertible instruments; (ii) simplifies the derivative scope exception guidance pertaining to equity classification of contracts in an entity&#x2019;s own equity; (iii) introduces additional disclosures for convertible debt and freestanding instruments that are indexed to and settled in an entity&#x2019;s own equity; and (iv) amends the diluted earnings per share guidance, including the requirement to use the if-converted method for all convertible instruments. The Company early adopted the new standard effective January 1, 2021. The adoption of ASU 2020-06 did not have an impact on the Company&#x2019;s financial position or results of operations upon adoption.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recently issued accounting pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the FASB issued ASU No. 2016-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which significantly changes the accounting for credit losses on instruments within its scope. The new guidance introduces an approach based on expected losses to estimate credit losses on certain financial instruments, including trade receivables, and requires an entity to recognize an allowance based on its estimate of expected credit losses rather than incurred losses. This standard will be effective for interim and annual periods starting after December 15, 2022 and will generally require adoption on a modified retrospective basis. We are in the process of evaluating the impact of the standard.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEyMTE3_87bb830a-aff2-497b-b350-8230503f09c2">RESTRUCTURING&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to our financial performance in 2021 and 2020, including net losses of $7.9 million and $6.0 million, respectively, and total cash used in operating activities of $9.8 million and $2.5 million, respectively, we determined that substantial doubt about our ability to continue as a going concern continues to exist at December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prior to 2019, the Company experienced significant sales declines, operating losses and increases in its inventory. Beginning in 2019, significant restructuring efforts were undertaken. The Company replaced the entire senior management team, significantly reduced non-critical expenses, minimized the amount of inventory the Company was purchasing, dramatically changed the composition of our Board of Directors and the executive team, and recruited new departmental leaders across the Company. The cost savings efforts undertaken included phased actions to reduce costs to minimize cash usage. Initial actions included the elimination of certain positions, restructuring of the sales organization and incentive plan, flattening of the senior management team, additional operational streamlining, management compensation reductions, and outsourcing of certain functions including certain elements of supply chain and marketing.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the twelve months ended December&#160;31, 2021 and 2020, we recorded net restructuring credits of approximately $21 thousand and $60 thousand, respectively, related to the costs and offsetting sub-lease income and accretion expense for the remaining lease obligation for our former New York, New York office. The lease obligation on our former New York, New York office was settled as of June 30, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our restructuring liabilities consisted of estimated ongoing costs related to long-term operating lease obligations, which the Company exited. The recorded value of the ongoing lease obligations was based on the remaining lease term and payment amount, discounted to present value. Changes in subsequent periods resulting from a revision to either the timing or the amount of estimated cash flows over the future period were measured using the credit adjusted, risk free rate that was used to measure the restructuring liabilities initially.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a reconciliation of the beginning and ending balances of our restructuring liability as it relates to the Company&#x2019;s restructuring plans (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Restructuring Liability&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accretion of lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(29)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a reconciliation of the ending balance of our restructuring liability at December&#160;31, 2021 and December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less, short-term restructuring liability&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term restructuring liability, included in other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the restructuring actions and initiatives described above, we have tailored our operating expenses to be more in line with our expected sales volumes, however, we continue to incur losses and have a substantial accumulated deficit, and substantial doubt about our ability to continue as a going concern continues to exist at December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Throughout 2020 and 2021, we have continued to evaluate and assess strategic options as we seek to achieve profitability. We plan to continue to develop advanced lighting and lighting control technologies and introduce impactful new products surrounding EnFocus&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;TM&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, a patented, breakthrough powerline control platform we officially launched during the second quarter of 2020. We announced the following UVCD products beginning in the fourth quarter of 2020: nUVo&#x2122; Tower portable air disinfection device for offices and homes and nUVo&#x2122; Traveler portable personal air disinfection device for in-vehicle and smaller spaces. Initial sales of nUVo&#x2122; devices began in the fourth quarter of 2021, and we anticipate the development of additional products in 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We plan to achieve profitability by growing our sales through existing lighting, new lighting control systems and UVCD products, and by continuing to refine and execute on our multi-channel sales strategy that targets key verticals, such as government, healthcare, education, and commercial and industrial, complemented by our marketing outreach campaigns and expanding channel partnerships, as well as our emerging consumer market focus.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As described in Note 10, &#x201c;Stockholders&#x2019; Equity,&#x201d; we raised approximately $4.0 million of net proceeds upon the issuance of common stock and December 2021 Warrants in connection with the December 2021 Private Placement, approximately $4.5 million of net proceeds upon the issuance of common stock in connection with the June 2021 Equity Offering, and approximately $2.3 million of net proceeds upon the issuance of common stock and January 2020 Warrants. As described in Note 8, &#x201c;Debt&#x201d;, in April 2021, we obtained approximately $1.5 million of bridge financing, net and in August 2020, we entered into two new revolving credit facilities, which allow for expanded borrowing capacity, which capacity was further increased by an April 20, 2021 amendment to one of the facilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The restructuring and cost cutting initiatives implemented during 2020 and continuing into 2021, as well as the December 2021 Private Placement, the June 2021 Equity Offering and the January 2020 Equity Offering that significantly strengthened our balance sheet, the Paycheck Protection Program (&#x201c;PPP&#x201d;) loan we obtained in April 2020, our enhanced debt capacity due to the debt refinancing in August 2020, the credit facility capacity increase and bridge financing in April 2021, and the funds we received, and expect to receive, related to the Employee Retention Tax Credit (&#x201c;ERTC&#x201d;), see Note 13, &#x201c;Other Income&#x201d; for details), were all designed to allow us to effectively execute these strategies. However, our efforts may not occur as quickly as we envision or be successful due to the long sales cycle in our industry, the corresponding time required to ramp up sales from new products, markets, and customers into this sales cycle, the timing of introductions of additional new products, significant competition, potential sales volatility given our customer concentration, numerous interruptions and cost increases in the supply chain globally, and the ongoing and lingering economic impact from the COVID-19 pandemic that has significantly diminished the interest and activities for our customers&#x2019; lighting retrofit projects until occupancy returns to more normal levels, among other factors.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, global supply chain and logistics constraints are impacting our inventory purchasing strategy, leading to a buildup of inventory and components in an effort to manage both shortages of available components and longer lead times in obtaining components. Disruptions in global logistics networks are also impacting our lead times and ability to efficiently and cost-effectively transport products from our third-party suppliers to our facility. As a result, we will continue to review and pursue selected external funding sources to ensure adequate financial resources to execute across the timelines required to achieve these objectives including, but not limited to, the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining financing from traditional or non-traditional investment capital organizations or individuals; &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining funding from the sale of our common stock or other equity or debt instruments; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;obtaining debt financing with lending terms that more closely match our business model and capital needs.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There can be no assurance that we will obtain funding on acceptable terms, in a timely fashion, or at all. Obtaining additional funding contains risks, including:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;additional equity financing may not be available to us on satisfactory terms, and any equity we are able to issue could lead to dilution for current stockholders and have rights, preferences and privileges senior to our common stock;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;loans or other debt instruments may have terms or conditions, such as interest rate, restrictive covenants, conversion features, refinancing demands, and control or revocation provisions, which are not acceptable to management or our Board of Directors; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;the current environment in the capital markets combined with our capital constraints may prevent us from being able to obtain adequate debt financing.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, if we are unable to find a permanent Chief Executive Officer, it may be more difficult to obtain additional financing on satisfactory terms or at all. If we fail to obtain the required additional financing to sustain our business before we are able to produce levels of revenue to meet our financial needs, we will need to delay, scale back or eliminate our growth plans and further reduce our operating costs and headcount, each of which would have a material adverse effect on our business, future prospects, and financial condition. A lack of additional funding could also result in our inability to continue as a going concern and force us to sell certain assets or discontinue or curtail our operations and, as a result, investors in the Company could lose their entire investment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Considering both quantitative and qualitative information, we continue to believe that the combination of our plans to ensure adequate external funding, timely re-organizational actions, current financial position, liquid resources, obligations due or anticipated within the next year, development and implementation of an excess inventory reduction plan, plans and initiatives in our research and development, product development and sales and marketing, and development of potential channel partnerships, if adequately executed, will provide us with an ability to finance our operations through the next twelve months and will mitigate the substantial doubt about our ability to continue as a going concern.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On August 17, 2020, we received a letter from the Listing Qualifications staff (the &#x201c;Staff&#x201d;) of The Nasdaq Stock Market (&#x201c;Nasdaq&#x201d;) notifying us that we were no longer in compliance with Nasdaq Listing Rule 5550(b)(1), which requires listed companies to maintain stockholders&#x2019; equity of at least $2,500,000 if they do not meet the alternative compliance standards relating to the market value of listed securities or net income from continuing operations (the &#x201c;Minimum Stockholders&#x2019; Equity Rule&#x201d;). Our Quarterly Report on Form 10-Q for the quarterly period ended June 30, 2020, filed on August 13, 2020, reflected that our stockholders&#x2019; equity as of June 30, 2020 was $1,714,000. Based on our timely submission of our plan to regain compliance, Nasdaq granted us an extension through February 15, 2021 to regain compliance with the Minimum Stockholders&#x2019; Equity Rule. In accordance with one part of the plan submitted to the Staff, we successfully modified our outstanding January 2020 Warrants and in December 2020, we reclassified $1.4&#160;million from warrant liability into equity. On January 20, 2021, we received a letter from the Staff notifying us that, on a conditional basis, Nasdaq has determined that we have regained compliance with the Minimum Stockholders&#x2019; Equity Rule. At December 31, 2020, our stockholders&#x2019; equity was $4,255,000, satisfying the Minimum Stockholders&#x2019; Equity Rule. At December&#160;31, 2021, our stockholders&#x2019; equity was $6,209,000.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On December 21, 2021, we received a letter from the Staff notifying the Company that, as a result of the resignation of a director, as previously disclosed, from the Board of Directors and the Audit and Finance Committee, we are not in compliance with Nasdaq Listing Rule 5605, which requires that our Audit and Finance Committee be comprised of at least three directors, all of whom are independent pursuant to the rules of Nasdaq and applicable law. The notification letter had no immediate effect on the Company&#x2019;s listing on the Nasdaq Capital Market. The letter further provided that, pursuant to Nasdaq Listing Rule 5605(c)(4), we are entitled to a cure period to regain compliance with Nasdaq Listing Rule 5605, which cure period will expire on the earlier of the date of our next annual shareholders&#x2019; meeting and November 11, 2022, or, if the next annual shareholders&#x2019; meeting is held before May 10, 2022, then the cure period will expire on May 10, 2022. The Board of Directors has commenced a search for a new independent director, who would be expected to serve on our Audit and Finance Committee, or the Board of Directors will otherwise appoint a current independent director to fill the vacancy on the committee.&lt;/span&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTM4MTU_1d29e3eb-826b-4354-b2a2-f3957bd1d9a8"
      unitRef="usd">-7900000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTM4MTE_5fd1c5d7-a431-443d-8914-52e36ec607ca"
      unitRef="usd">-6000000</us-gaap:NetIncomeLoss>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTM4MjY_ac6521f6-45c8-4e2e-bcc1-8fafbe6161f1"
      unitRef="usd">-9800000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTM4MjI_12de465a-a96f-44cd-96ae-39f56c155ee5"
      unitRef="usd">-2500000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:RestructuringCosts
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzI3MzQ_cdea1dfb-5c21-40ea-863d-a79cf93bb625"
      unitRef="usd">-21000</us-gaap:RestructuringCosts>
    <us-gaap:RestructuringCosts
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NzY0NzU_b23c138a-1652-450b-98a7-1a1c568c4cc0"
      unitRef="usd">-60000</us-gaap:RestructuringCosts>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEyMTIy_fa1bba8b-9e46-460e-8683-eab5b301e49c">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a reconciliation of the beginning and ending balances of our restructuring liability as it relates to the Company&#x2019;s restructuring plans (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.256%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Restructuring Liability&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accretion of lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(29)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a reconciliation of the ending balance of our restructuring liability at December&#160;31, 2021 and December&#160;31, 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Balance at December 31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less, short-term restructuring liability&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term restructuring liability, included in other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:RestructuringReserve
      contextRef="i1f183382bd22428686ea1fa5147a3e6f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzE1LTEtMS0xLTA_adfe76cd-423d-4582-ba3f-0758f5e0c06c"
      unitRef="usd">38000</us-gaap:RestructuringReserve>
    <efoi:RestructuringReserveAccretion
      contextRef="ie6d79369f8f64d7cba3d0cf5de8cfef7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzE2LTEtMS0xLTA_296218f2-079e-45b0-b987-36eb72cc53f3"
      unitRef="usd">2000</efoi:RestructuringReserveAccretion>
    <us-gaap:PaymentsForRestructuring
      contextRef="ie6d79369f8f64d7cba3d0cf5de8cfef7_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzE3LTEtMS0xLTA_2cb676c1-6abd-4ea4-8b12-8defeab6de86"
      unitRef="usd">29000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserve
      contextRef="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzE4LTEtMS0xLTA_221d7b00-16d6-46a5-82bb-c38e811fc34e"
      unitRef="usd">11000</us-gaap:RestructuringReserve>
    <us-gaap:PaymentsForRestructuring
      contextRef="i747d342d210044ef81641e7032d98e51_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzIwLTEtMS0xLTMxOTU_778159c9-418d-4547-b02c-992ccbc9eb26"
      unitRef="usd">11000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserve
      contextRef="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTozZjdkYjMwZTQwZDk0YWY3OGYwYzk0ODY2NTM3M2U3OS90YWJsZXJhbmdlOjNmN2RiMzBlNDBkOTRhZjc4ZjBjOTQ4NjY1MzczZTc5XzIxLTEtMS0xLTMxOTU_15f2f769-73a5-4f33-a398-044f546377b3"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzItMS0xLTEtMA_b2c52a1d-55e4-4e5b-9309-70010ecd8fdf"
      unitRef="usd">0</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve
      contextRef="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzItMy0xLTEtMA_32119a48-bae8-42e3-9ece-47c89646dca2"
      unitRef="usd">11000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserveCurrent
      contextRef="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzMtMS0xLTEtMA_fed67bdb-8c54-446d-b829-9cfb87c746c6"
      unitRef="usd">0</us-gaap:RestructuringReserveCurrent>
    <us-gaap:RestructuringReserveCurrent
      contextRef="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzMtMy0xLTEtMA_3c92430c-7b70-42da-bc1a-620727f92070"
      unitRef="usd">11000</us-gaap:RestructuringReserveCurrent>
    <us-gaap:RestructuringReserveNoncurrent
      contextRef="ib09eed3c26fb4a30a43ec443c6ceb098_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzQtMS0xLTEtMA_d6c48ab4-997a-4d09-b08b-7688c4297efd"
      unitRef="usd">0</us-gaap:RestructuringReserveNoncurrent>
    <us-gaap:RestructuringReserveNoncurrent
      contextRef="i8c750edc6efc4cc2a4ed4e81ea360b90_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90YWJsZTpjNDhmMGZhODQ2NmY0ZWEzOWZmMDQzZWQ2Y2Q4NTI3Yi90YWJsZXJhbmdlOmM0OGYwZmE4NDY2ZjRlYTM5ZmYwNDNlZDZjZDg1MjdiXzQtMy0xLTEtMA_7a325a8d-e32b-4421-bb23-bf7d90ec038e"
      unitRef="usd">0</us-gaap:RestructuringReserveNoncurrent>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NjQ5NTU_5b255d64-a49f-4a66-91f1-a48cb699a2f1"
      unitRef="usd">4000000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NjQ5NTA_cd15d5d4-e868-4efe-9155-05ecad1bd9e3"
      unitRef="usd">4500000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzE2NDkyNjc0NTkzNDg_87c1ae1e-c91f-4df2-9002-0403fbab0714"
      unitRef="usd">2300000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="if144a899302d4dcc9da1823f257a72cf_D20210401-20210430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NDU5MjY_bca14f1d-3515-4db6-b1b8-9d5ecafbb510"
      unitRef="usd">1500000</us-gaap:ProceedsFromIssuanceOfDebt>
    <efoi:DebtInstrumentNumberOfCreditFacilities
      contextRef="i196a60521c374b1ea5e71538354bd9d1_I20200830"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzI3NDg3NzkxMjM1Nzk_da9b85ac-617b-4f30-9782-f611d368975a"
      unitRef="creditfacility">2</efoi:DebtInstrumentNumberOfCreditFacilities>
    <us-gaap:StockholdersEquity
      contextRef="ie36d68bd24994a9e9a48cb302763ddf6_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzI3NDg3NzkxMjM1ODM_2a5691d9-bfb4-4ff0-97b9-3266581d4396"
      unitRef="usd">1714000</us-gaap:StockholdersEquity>
    <efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified
      contextRef="i934acbda7dce4fddb89c86f36d649885_D20201201-20201201"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzc2OTY1ODE0NDg1ODc_582fd446-5ec7-4a81-92e5-bb096f978049"
      unitRef="usd">1400000</efoi:AdjustmentsToAdditionalPaidInCapitalWarrantReclassified>
    <us-gaap:StockholdersEquity
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NTMyNDM_a44a7407-a8d0-40c3-b607-81755ca945e6"
      unitRef="usd">4255000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDUvZnJhZzozYmJlMWI0NmUzODY0NzBjOWQ0OTNjYzJjMzQzYzBiMi90ZXh0cmVnaW9uOjNiYmUxYjQ2ZTM4NjQ3MGM5ZDQ5M2NjMmMzNDNjMGIyXzEwOTk1MTE2NTMyNTQ_e9a7aefe-d710-4583-a603-a0cc54ed38fd"
      unitRef="usd">6209000</us-gaap:StockholdersEquity>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDI_f2413dfa-a2a3-40a3-a357-b86154b862e8">LEASES&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases expiring through 2026 under which it is responsible for related maintenance, taxes and insurance. The Company has one finance lease containing a bargain purchase option upon expiration in 2022. The lease term consists of the non-cancellable period of the lease, periods covered by options to extend the lease if the Company is reasonably certain to exercise the option, and periods covered by an option to terminate the lease if the Company is reasonably certain not to exercise the option. As of January 21, 2021, the terms of one of these equipment operating leases has been extended through 2026. In accordance with ASC 842, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (&#x201c;Topic 842&#x201d;), the related right-of-use asset and lease liability was updated at the time of modification in January 2021. The present value of the lease obligation for this lease was calculated using an incremental borrowing rate of 15.93%, which was the Company&#x2019;s blended borrowing rate (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 8, &#x201c;Debt&#x201d;) and Factors Southwest L.L.C (as described below in Note 8, &#x201c;Debt&#x201d;). The present value of the remaining lease obligation was calculated using an incremental borrowing rate (&#x201c;IBR&#x201d;) of 7.25% (which excludes the annual facility fee and other lender fees), which was the Company&#x2019;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#x201c;Austin Facility&#x201d;). The weighted average remaining lease term for operating and finance leases is 0.8 years and 0.3 years, respectively.&lt;/span&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company had one restructured lease with a sub-lease component for the New York, New York office that was closed in 2017. The lease expired in June 2021. As part of the lease agreement, there was $0.3&#160;million in restricted cash in prepaid and other current assets on the accompanying Consolidated Balance Sheets as of December&#160;31, 2020 which represented collateral against the related Letter of Credit issued as part of this agreement. Per the terms of the lease agreement, the restrictions on the cash were lifted in September 2021 and the cash was returned to the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The restructured lease and sub-lease were deemed to be in-scope and thus subject to the requirements of Topic 842 and were evaluated for impairment in accordance with the asset impairment provisions of ASC 360, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Property, Plant and Equipment&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (&#x201c;Topic 360&#x201d;). The Company concluded its net right-of-use assets were not impaired and the carrying amount approximates expected sublease income in future years as of December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of the operating, restructured and finance lease costs recognized in net loss were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(105)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Restructured lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(136)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(272)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental Consolidated Balance Sheet information related to the Company&#x2019;s operating and finance leases are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets, total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowances for depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.176%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Lease&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Supplemental Cash Flow Information:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid, net, for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from restructured leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDM_33e04495-ee6b-4517-a6ef-a280267e667a">LEASES&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases certain equipment, manufacturing, warehouse and office space under non-cancellable operating leases expiring through 2026 under which it is responsible for related maintenance, taxes and insurance. The Company has one finance lease containing a bargain purchase option upon expiration in 2022. The lease term consists of the non-cancellable period of the lease, periods covered by options to extend the lease if the Company is reasonably certain to exercise the option, and periods covered by an option to terminate the lease if the Company is reasonably certain not to exercise the option. As of January 21, 2021, the terms of one of these equipment operating leases has been extended through 2026. In accordance with ASC 842, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (&#x201c;Topic 842&#x201d;), the related right-of-use asset and lease liability was updated at the time of modification in January 2021. The present value of the lease obligation for this lease was calculated using an incremental borrowing rate of 15.93%, which was the Company&#x2019;s blended borrowing rate (including interest, annual facility fees, collateral management fees, bank fees and other miscellaneous lender fees) on its revolving lines of credit with Crossroads Financial Group, LLC (as described below in Note 8, &#x201c;Debt&#x201d;) and Factors Southwest L.L.C (as described below in Note 8, &#x201c;Debt&#x201d;). The present value of the remaining lease obligation was calculated using an incremental borrowing rate (&#x201c;IBR&#x201d;) of 7.25% (which excludes the annual facility fee and other lender fees), which was the Company&#x2019;s borrowing rate on its former revolving line of credit with Austin Financial Services, Inc. (the &#x201c;Austin Facility&#x201d;). The weighted average remaining lease term for operating and finance leases is 0.8 years and 0.3 years, respectively.&lt;/span&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company had one restructured lease with a sub-lease component for the New York, New York office that was closed in 2017. The lease expired in June 2021. As part of the lease agreement, there was $0.3&#160;million in restricted cash in prepaid and other current assets on the accompanying Consolidated Balance Sheets as of December&#160;31, 2020 which represented collateral against the related Letter of Credit issued as part of this agreement. Per the terms of the lease agreement, the restrictions on the cash were lifted in September 2021 and the cash was returned to the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The restructured lease and sub-lease were deemed to be in-scope and thus subject to the requirements of Topic 842 and were evaluated for impairment in accordance with the asset impairment provisions of ASC 360, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Property, Plant and Equipment&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; (&#x201c;Topic 360&#x201d;). The Company concluded its net right-of-use assets were not impaired and the carrying amount approximates expected sublease income in future years as of December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of the operating, restructured and finance lease costs recognized in net loss were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(105)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Restructured lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(136)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(272)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental Consolidated Balance Sheet information related to the Company&#x2019;s operating and finance leases are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets, total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowances for depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.176%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Lease&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Supplemental Cash Flow Information:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid, net, for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from restructured leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <efoi:LesseeOperatingLeaseInterestRateEffectiveRate
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEwOTk1MTE2MzM0NDU_ad6e3494-ffb2-43a8-8d5f-6e3e3f03cc37"
      unitRef="number">0.1593</efoi:LesseeOperatingLeaseInterestRateEffectiveRate>
    <us-gaap:LesseeOperatingLeaseDiscountRate
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEwMTg_5b7ac3a4-bb79-4d12-9bcd-c1a1ec937d20"
      unitRef="number">0.0725</us-gaap:LesseeOperatingLeaseDiscountRate>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEyMDE_09106581-fc43-4e41-b8f7-27b304687972">P0Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEyMjU_c679dc5f-e409-4825-966c-f5ca80c360bb">P0Y3M18D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzEwOTk1MTE2MzU1OTE_3185338f-1d38-4f7a-a5f9-cd8001009223"
      unitRef="usd">300000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDQ_de6255d8-2e7d-47f5-a412-e7dab82e7ee2">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of the operating, restructured and finance lease costs recognized in net loss were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(105)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Restructured lease cost (income)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sub-lease income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(136)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(272)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total lease cost, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:SubleaseIncome
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzMtMS0xLTEtMA_d191a6af-271c-43ca-b65a-afa479dbff1e"
      unitRef="usd">112000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzMtMy0xLTEtMA_dab27245-aa1b-4999-a2dc-b3c9ccd5fd57"
      unitRef="usd">105000</us-gaap:SubleaseIncome>
    <us-gaap:OperatingLeaseCost
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzQtMS0xLTEtMA_e4070ce2-f0cc-42d3-a9a5-3212d29453df"
      unitRef="usd">558000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzQtMy0xLTEtMA_1387b53b-9f39-4b10-a37f-8ac0fe4c1c74"
      unitRef="usd">597000</us-gaap:OperatingLeaseCost>
    <efoi:OperatingLeaseCostNetOfSubleaseIncome
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzUtMS0xLTEtMA_e10c4366-40fa-4cba-b9ad-aef8bd0d60bc"
      unitRef="usd">446000</efoi:OperatingLeaseCostNetOfSubleaseIncome>
    <efoi:OperatingLeaseCostNetOfSubleaseIncome
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzUtMy0xLTEtMA_f6698ba6-1932-40f0-9ee4-4a4736de2e11"
      unitRef="usd">492000</efoi:OperatingLeaseCostNetOfSubleaseIncome>
    <efoi:RestructuredLeaseSubleaseIncome
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzgtMS0xLTEtMA_77a13053-d04d-4677-ab8d-fa6b3015cc65"
      unitRef="usd">136000</efoi:RestructuredLeaseSubleaseIncome>
    <efoi:RestructuredLeaseSubleaseIncome
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzgtMy0xLTEtMA_040122ce-9508-48e4-b856-cb4acaeafc2c"
      unitRef="usd">272000</efoi:RestructuredLeaseSubleaseIncome>
    <efoi:RestructuredLeaseOperatingLeaseCost
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzktMS0xLTEtMA_42d65291-89cc-42d0-868a-8982c3622f6a"
      unitRef="usd">110000</efoi:RestructuredLeaseOperatingLeaseCost>
    <efoi:RestructuredLeaseOperatingLeaseCost
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzktMy0xLTEtMA_9f8ffbb9-5f22-44c6-8793-173ab3f3f2af"
      unitRef="usd">237000</efoi:RestructuredLeaseOperatingLeaseCost>
    <efoi:RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzEwLTEtMS0xLTA_844b10a4-9b90-4e80-a5e9-787fe8e9b1d3"
      unitRef="usd">-26000</efoi:RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome>
    <efoi:RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzEwLTMtMS0xLTA_25b05b5d-c04a-4dc3-9c96-fddbab15bf7b"
      unitRef="usd">-35000</efoi:RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome>
    <us-gaap:LeaseCost
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzE2LTEtMS0xLTA_0ebdbd78-a4d3-4180-a6f6-2e3d3c8dcc10"
      unitRef="usd">420000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo5NzQ4NzNiYmM5M2Q0ODlkYmQxNDdjOTY5NWE0Y2Y1Mi90YWJsZXJhbmdlOjk3NDg3M2JiYzkzZDQ4OWRiZDE0N2M5Njk1YTRjZjUyXzE2LTMtMS0xLTA_6db41172-5e42-4e36-b650-650592c71e7c"
      unitRef="usd">457000</us-gaap:LeaseCost>
    <efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQyOTg_f50fda0d-9f61-4bc6-8347-5963c6a61add">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental Consolidated Balance Sheet information related to the Company&#x2019;s operating and finance leases are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets, total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restructured lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowances for depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzMtMS0xLTEtMA_58506504-c64f-4b88-a10b-1fdd71f3919b"
      unitRef="usd">292000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzMtMy0xLTEtMA_30c0dad7-305f-4684-a4ae-49bf34e3f537"
      unitRef="usd">794000</us-gaap:OperatingLeaseRightOfUseAsset>
    <efoi:RestructuredOperatingLeaseRightOfUseAsset
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzQtMS0xLTEtMA_af8e0a5f-a856-4134-87c9-76cea3a32104"
      unitRef="usd">0</efoi:RestructuredOperatingLeaseRightOfUseAsset>
    <efoi:RestructuredOperatingLeaseRightOfUseAsset
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzQtMy0xLTEtMA_3cbb2f53-bacc-4feb-adb4-4d97e31cebcc"
      unitRef="usd">107000</efoi:RestructuredOperatingLeaseRightOfUseAsset>
    <efoi:OperatingLeaseRightofUseAssetIncludingRestructuredLeases
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzUtMS0xLTEtMA_23701c73-9379-4fac-9f6a-321eb078e93f"
      unitRef="usd">292000</efoi:OperatingLeaseRightofUseAssetIncludingRestructuredLeases>
    <efoi:OperatingLeaseRightofUseAssetIncludingRestructuredLeases
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzUtMy0xLTEtMA_9e73c1d1-df56-4f61-952f-50e35558f887"
      unitRef="usd">901000</efoi:OperatingLeaseRightofUseAssetIncludingRestructuredLeases>
    <us-gaap:OperatingLeaseLiability
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzctMS0xLTEtMA_22ef58fc-f246-498d-866a-7de78d908d61"
      unitRef="usd">351000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzctMy0xLTEtMA_9128295a-2079-48ba-9118-561fa5b86e54"
      unitRef="usd">916000</us-gaap:OperatingLeaseLiability>
    <efoi:RestructuredOperatingLeaseLiability
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzgtMS0xLTEtMA_3cab07ec-97c6-40ca-bf0a-43d00857e941"
      unitRef="usd">0</efoi:RestructuredOperatingLeaseLiability>
    <efoi:RestructuredOperatingLeaseLiability
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzgtMy0xLTEtMA_22d5f586-2f60-4d1d-8d6c-483158418662"
      unitRef="usd">168000</efoi:RestructuredOperatingLeaseLiability>
    <efoi:OperatingLeaseLiabilityIncludingRestructuredLeases
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzktMS0xLTEtMA_e729d7c4-f4d1-4dd8-b27a-b6a6574a23fb"
      unitRef="usd">351000</efoi:OperatingLeaseLiabilityIncludingRestructuredLeases>
    <efoi:OperatingLeaseLiabilityIncludingRestructuredLeases
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzktMy0xLTEtMA_c34f383e-aefa-4ae0-ba60-86817beb5f14"
      unitRef="usd">1084000</efoi:OperatingLeaseLiabilityIncludingRestructuredLeases>
    <efoi:FinanceLeaseRightOfUseAssetGross
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzEyLTEtMS0xLTA_95faeb79-8e9b-4130-a6ad-18abf757f549"
      unitRef="usd">13000</efoi:FinanceLeaseRightOfUseAssetGross>
    <efoi:FinanceLeaseRightOfUseAssetGross
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzEyLTMtMS0xLTA_0cbe7b1f-e4cf-495d-95f0-072b49889888"
      unitRef="usd">13000</efoi:FinanceLeaseRightOfUseAssetGross>
    <efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzEzLTEtMS0xLTA_47d3970e-a899-4f03-badc-0a8e4ed53afd"
      unitRef="usd">12000</efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation>
    <efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzEzLTMtMS0xLTA_57d8f340-114b-4934-a247-f7ce3533f6a2"
      unitRef="usd">9000</efoi:FinanceLeaseRightOfUseAssetAccumulatedDepreciation>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE0LTEtMS0xLTA_1f5f6d5d-9ed2-43e2-b890-482fa5bdb24e"
      unitRef="usd">1000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE0LTMtMS0xLTA_dd98def1-2afe-4602-9811-8c4d11e72596"
      unitRef="usd">4000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseLiability
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE2LTEtMS0xLTA_18237f2c-4d79-4520-bd9f-f2af75559c7a"
      unitRef="usd">1000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE2LTMtMS0xLTA_8b2d64ad-cd55-43b2-878c-e27acbc99073"
      unitRef="usd">4000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE3LTEtMS0xLTA_e18cdc21-2af7-4981-a8d1-1b321f19235a"
      unitRef="usd">1000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo2NWU5MDc0MWUzYjY0NGVmYjc1MGZhOTNjMWFiOGJhNy90YWJsZXJhbmdlOjY1ZTkwNzQxZTNiNjQ0ZWZiNzUwZmE5M2MxYWI4YmE3XzE3LTMtMS0xLTA_a22cf0de-8fb0-4e01-b924-321efae09bd3"
      unitRef="usd">4000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQyOTk_a442fb37-223a-4f28-af87-ea51e61dd16a">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.176%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Lease&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDA_b5f7d68d-b0fa-4e85-ac1f-f7fba9f357da">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments required under operating and finance leases for each of the years 2022 through 2026 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.176%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Finance Lease&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;332&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total future undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;359&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzEtMS0xLTEtMA_66646633-61c3-4891-9ea2-55494ef23a9c"
      unitRef="usd">332000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzEtNC0xLTEtMA_8513212a-180d-4458-a433-2c54c14332ac"
      unitRef="usd">1000</us-gaap:FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzItMS0xLTEtMA_f1ddbc1e-ee11-4705-a5a7-cbe693533c3a"
      unitRef="usd">19000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearTwo
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzItNC0xLTEtMA_9652c9ca-9567-49dc-b9ff-46a94f9d9424"
      unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzMtMS0xLTEtMA_2495e888-cf47-420a-97d9-6e3fc9480df8"
      unitRef="usd">4000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearThree
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzMtNC0xLTEtMA_ea56c743-5eac-48bb-830d-e9584498d3b4"
      unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzQtMS0xLTEtMA_128b3ce5-2f3f-4e69-8fb0-7453bcd38d05"
      unitRef="usd">3000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFour
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzQtNC0xLTEtMA_117390d7-5c5e-4d00-aeb8-dc4c6507eb83"
      unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzUtMS0xLTEtMA_5030ea30-87fe-4d86-8362-9c2f735217e5"
      unitRef="usd">1000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFive
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzUtNC0xLTEtMA_e2f3bb9e-a9dc-4bf2-8065-e1d9cee3e249"
      unitRef="usd">0</us-gaap:FinanceLeaseLiabilityPaymentsDueInRollingYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzYtMS0xLTEtMA_f1cfd334-a41e-4661-b57f-bad8e75573f6"
      unitRef="usd">359000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzYtNC0xLTEtMA_4175402a-1adb-4c2d-bf83-9aa1555b72bc"
      unitRef="usd">1000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzctMS0xLTEtMA_e8f61260-31e4-4d57-b823-0175a3ab9e90"
      unitRef="usd">8000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzctNC0xLTEtMA_617b757b-a796-451b-ba03-d72784d02356"
      unitRef="usd">0</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzgtMS0xLTEtMA_84aff038-4e8b-4848-b900-43adea8b05d9"
      unitRef="usd">351000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTpkMWFhZjIyYTg0MjI0ZjQzOGRmMjNhZjZkZThkNTM4YS90YWJsZXJhbmdlOmQxYWFmMjJhODQyMjRmNDM4ZGYyM2FmNmRlOGQ1MzhhXzgtNC0xLTEtMA_eb10010a-c0e4-4436-ac48-94322759117f"
      unitRef="usd">1000</us-gaap:FinanceLeaseLiability>
    <efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90ZXh0cmVnaW9uOmY5YzgwYjgzNjEzYTQwZWI4ZGUxZjY4MzVhNmY3NTc1XzQzMDE_9fc78341-d88c-4496-b8a7-40daf5b65a10">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.765%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Supplemental Cash Flow Information:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid, net, for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash flows from restructured leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Financing cash flows from finance leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzQtMS0xLTEtMA_1a62d8dc-6a8d-42c0-b724-4c194f8ca089"
      unitRef="usd">532000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzQtMy0xLTEtMA_3efafe52-5dfb-4ae9-bb43-76ea4f0977ca"
      unitRef="usd">537000</us-gaap:OperatingLeasePayments>
    <efoi:RestructuredLeasesOperatingLeasePayments
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzUtMS0xLTEtMA_19e8ea6b-b0df-4771-9788-09e495ef7a0d"
      unitRef="usd">35000</efoi:RestructuredLeasesOperatingLeasePayments>
    <efoi:RestructuredLeasesOperatingLeasePayments
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzUtMy0xLTEtMA_abba2aa8-969a-4617-9c6b-70547f6cca04"
      unitRef="usd">69000</efoi:RestructuredLeasesOperatingLeasePayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzYtMS0xLTEtMA_f17d2b91-a09f-4b11-8036-ddf014185903"
      unitRef="usd">3000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNDgvZnJhZzpmOWM4MGI4MzYxM2E0MGViOGRlMWY2ODM1YTZmNzU3NS90YWJsZTo3OTFkYTk4ZTlmOTU0MDU5YjIzMjZiZGNmYzI2OTVlMS90YWJsZXJhbmdlOjc5MWRhOThlOWY5NTQwNTliMjMyNmJkY2ZjMjY5NWUxXzYtMy0xLTEtMA_a7e5dc5f-bc2e-464c-a93f-9f1cc2f22c1d"
      unitRef="usd">3000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzExODY_fb14099f-1e05-4da1-b316-c6bff76e79a5">INVENTORIES&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value and consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.282%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.283%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,882&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,034&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reserve for excess, obsolete, and slow-moving inventories&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,518)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrual&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(281)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reduction due to sold inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Reserves for excess, obsolete, and slow-moving inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Throughout 2021, we experienced global supply chain and logistics constraints, which impacted our inventory purchasing strategy, leading to a buildup of inventory and inventory components in an effort to manage both shortages of available components and longer lead times in obtaining components. This resulted in a net increase of our gross inventory levels of $2.4&#160;million and excess inventory reserves of $0.2&#160;million as compared to 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During 2020, we applied discipline in manufacturing and supply chain management, focusing on a reduction of lead time and inventory on hand, which resulted in a net reduction of our gross inventory levels of $1.2&#160;million and excess inventory reserves of $0.6&#160;million compared to 2019.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzExODM_874c0d72-1899-4707-8f98-28eeac36724c">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of standard cost (which approximates actual cost determined using the first-in, first-out cost method) or net realizable value and consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.400%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.282%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.283%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,882&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,034&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reserve for excess, obsolete, and slow-moving inventories&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,641&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following is a roll-forward of the reserves for excess, obsolete, and slow-moving inventories (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.326%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:19.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,518)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrual&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(281)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reduction due to sold inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Reserves for excess, obsolete, and slow-moving inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,050)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzItMS0xLTEtMA_f6e848f4-3669-4aa4-9cbb-01995cf103a1"
      unitRef="usd">3882000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzItMy0xLTEtMA_b2fb473c-8ba5-4a4e-9fe6-640af776bcfc"
      unitRef="usd">2695000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryFinishedGoods
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzMtMS0xLTEtMA_86e0e460-82ae-401b-b7d4-2331f0b695b8"
      unitRef="usd">7034000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzMtMy0xLTEtMA_f56c76e8-95f0-44e4-b1bf-b9253b4fb0bb"
      unitRef="usd">5840000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryValuationReserves
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzQtMS0xLTEtMA_e98ac7e4-18b8-488d-905b-c5b022ea2a7d"
      unitRef="usd">3050000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzQtMy0xLTEtMA_d63be903-c76e-4cb7-843b-1b4885a4e940"
      unitRef="usd">2894000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzUtMS0xLTEtMA_0e992ab0-6d79-4138-a445-eea2a7d2a13c"
      unitRef="usd">7866000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTphMGViODFlMDU2ZjI0ZjJmYjI5NWZmYzY2ZDU0ZWU0MC90YWJsZXJhbmdlOmEwZWI4MWUwNTZmMjRmMmZiMjk1ZmZjNjZkNTRlZTQwXzUtMy0xLTEtMA_91888290-8c37-494c-8d93-a881f3851a9b"
      unitRef="usd">5641000</us-gaap:InventoryNet>
    <efoi:InventoryValuationReservesRawMaterials
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzItMS0xLTEtMA_ac0142fc-63a9-4272-9a09-f9fe3acf05ae"
      unitRef="usd">2894000</efoi:InventoryValuationReservesRawMaterials>
    <efoi:InventoryValuationReservesRawMaterials
      contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzItMy0xLTEtMA_ba93f16a-0e22-42dc-85ed-a03c02395734"
      unitRef="usd">3518000</efoi:InventoryValuationReservesRawMaterials>
    <efoi:InventoryValuationReservesProvisionAccrual
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzMtMS0xLTEtMA_14dec86d-ba9e-4f99-bf2a-61955d67a673"
      unitRef="usd">-281000</efoi:InventoryValuationReservesProvisionAccrual>
    <efoi:InventoryValuationReservesProvisionAccrual
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzMtMy0xLTEtMA_26426cce-1124-427b-aa9f-7f7da9532c22"
      unitRef="usd">281000</efoi:InventoryValuationReservesProvisionAccrual>
    <efoi:InventoryValuationReservesSalesOfInventory
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzQtMS0xLTEtMA_b3ee69c7-49ba-44ab-affa-12b669336869"
      unitRef="usd">125000</efoi:InventoryValuationReservesSalesOfInventory>
    <efoi:InventoryValuationReservesSalesOfInventory
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzQtMy0xLTEtMA_c7fd53bb-bea7-4f2f-bfd4-ac403323e35a"
      unitRef="usd">343000</efoi:InventoryValuationReservesSalesOfInventory>
    <efoi:InventoryValuationReservesRawMaterials
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzYtMS0xLTEtMA_f4fdc43c-ae55-4924-ba74-f86bd8619883"
      unitRef="usd">3050000</efoi:InventoryValuationReservesRawMaterials>
    <efoi:InventoryValuationReservesRawMaterials
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90YWJsZTpjOTU3ZDc3ZTE2MTQ0MTY5YmY4N2QxM2E2YWY1MzdmYS90YWJsZXJhbmdlOmM5NTdkNzdlMTYxNDQxNjliZjg3ZDEzYTZhZjUzN2ZhXzYtMy0xLTEtMA_b60dd8fd-6334-4350-96f6-9c02220fec6b"
      unitRef="usd">2894000</efoi:InventoryValuationReservesRawMaterials>
    <efoi:IncreaseDecreaseInInventoryLevelsGross
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzEwOTk1MTE2MzEwMzM_7051da46-9eb0-4b80-9e5c-cf159fbc50c1"
      unitRef="usd">2400000</efoi:IncreaseDecreaseInInventoryLevelsGross>
    <efoi:IncreaseDecreaseInInventoryReserves
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzEwOTk1MTE2MzEwNzA_673ed88f-1549-42fb-8285-1241d0ee76dd"
      unitRef="usd">200000</efoi:IncreaseDecreaseInInventoryReserves>
    <efoi:IncreaseDecreaseInInventoryLevelsGross
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzEwOTk1MTE2MzExNzc_abcef1bd-5e0f-4b81-a6f8-9680ee01af60"
      unitRef="usd">-1200000</efoi:IncreaseDecreaseInInventoryLevelsGross>
    <efoi:IncreaseDecreaseInInventoryReserves
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTEvZnJhZzoyMWJmODg3MmY1NDg0NjkyYTgyM2UxNjhmYmMyNzliZi90ZXh0cmVnaW9uOjIxYmY4ODcyZjU0ODQ2OTJhODIzZTE2OGZiYzI3OWJmXzEwOTk1MTE2MzExODQ_99b0cabd-7f7f-4a29-b9f5-281157e8f4e5"
      unitRef="usd">600000</efoi:IncreaseDecreaseInInventoryReserves>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90ZXh0cmVnaW9uOmFkODUxMDQ2Mjc2MDQ0MDNiYjQ4MzRhMDBhNWM3MGE4XzU2NQ_d4c8d5ac-c7cf-4e39-afec-03390ede1893">PROPERTY AND EQUIPMENT&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.228%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.230%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equipment (useful life 3 - 15 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tooling (useful life 2 - 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vehicles (useful life 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures (useful life 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer software (useful life 3 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements (the shorter of useful life or lease life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease right-of-use asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;UV - Robots (useful life 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Property and equipment at cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,802)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,664)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense was $0.2 million for both of the years ended December&#160;31, 2021 and 2020. There were no impairment charges for property and equipment during 2021 and 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90ZXh0cmVnaW9uOmFkODUxMDQ2Mjc2MDQ0MDNiYjQ4MzRhMDBhNWM3MGE4XzU2OA_7cb21a7e-1e70-4524-8dd2-094681db850d">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost and depreciated using the straight-line method over the estimated useful lives of the related assets and consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.228%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.230%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equipment (useful life 3 - 15 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tooling (useful life 2 - 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;384&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vehicles (useful life 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures (useful life 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer software (useful life 3 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements (the shorter of useful life or lease life)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;169&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease right-of-use asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;UV - Robots (useful life 5 years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Property and equipment at cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,802)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,664)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;675&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i04b49d9af60b4a0a9c54c1686dbdd119_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzItMC0xLTEtMC90ZXh0cmVnaW9uOmZiZTJmYjVjNWYwODRhODY4ZTM5ZTk5MjZkNDdkNjdkXzI3_5c8ea90e-93d9-4358-bbf2-5125d7b2513e">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="if5281ca33d254ea6b9e23dc243594e60_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzItMC0xLTEtMC90ZXh0cmVnaW9uOmZiZTJmYjVjNWYwODRhODY4ZTM5ZTk5MjZkNDdkNjdkXzMy_ef090971-c614-499d-89f8-aa034af30c5f">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="idcee913e5d52496d95fb8ce3745843b9_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzItMS0xLTEtMA_3944cd87-562a-46af-b941-cd38aa14f1fc"
      unitRef="usd">1308000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="icea611e5206a4ce78ce5ee2a8b2c13fd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzItMy0xLTEtMA_91ec3767-eda1-4084-af25-47ca795cf095"
      unitRef="usd">1281000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i6ceeeb23d2d6497abef9745a8814bbf7_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzMtMC0xLTEtMC90ZXh0cmVnaW9uOmJlMTUwMzlhNWU2ZDRjYmRhZjRiNGMzZDA5ZTA3ZDBkXzI1_5fa84a05-1d7a-481e-9994-286510ef3784">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="id814784061ac4a46984cf3f29d9a438f_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzMtMC0xLTEtMC90ZXh0cmVnaW9uOmJlMTUwMzlhNWU2ZDRjYmRhZjRiNGMzZDA5ZTA3ZDBkXzMw_0ca2a2fa-23ab-4e91-8ef3-7c065bee9138">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i6da946e795d64529bc7527c406643abb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzMtMS0xLTEtMA_bcb862bf-7d46-4def-b817-7839cd14591d"
      unitRef="usd">384000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i770bea7c0bae458ba2a98bf0dbfe09e5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzMtMy0xLTEtMA_821df12c-9bc7-4b83-8c36-9f8e8595e3a7"
      unitRef="usd">240000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i828edd52de644b00a33a5b9030584c28_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzQtMC0xLTEtMC90ZXh0cmVnaW9uOmU1MjhjZWIzMjRmOTQ0Mjg5ODIzYTVhZDA5N2U1Yzk3XzI2_dd4417a4-ac67-4cc1-b178-685e33fae37d">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="iaaf77b8a9a2e4947b75814bf3242bc10_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzQtMS0xLTEtMA_bd3cbdc5-1f74-4d15-9624-71afa728bc6b"
      unitRef="usd">83000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i1a550296d7fc4121afc74313bee95cb2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzQtMy0xLTEtMA_8fee1b79-e24a-45ff-b05f-9f6197a484ce"
      unitRef="usd">47000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i118bc3bb13964ac4b9cea47abba4b282_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzUtMC0xLTEtMC90ZXh0cmVnaW9uOmY0ZmNhZDdlZGUwMzRjNGZiMGI1MTE0MzRhMGRiM2ZhXzQw_51996442-62a7-410b-8639-830b392c1714">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i356a742a941f45e9bc0f90a24c395a99_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzUtMS0xLTEtMA_6e31aa0c-fa70-414f-a6c0-ad8d80668184"
      unitRef="usd">86000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i031edd6bc9404d78bacb8baf3cca4853_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzUtMy0xLTEtMA_9a5b2f3f-d34a-4778-9089-764f5de86125"
      unitRef="usd">137000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i90eca37a50ac489eb820c95b38510276_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzYtMC0xLTEtMC90ZXh0cmVnaW9uOmJiMWM1ZWQwNWVhNzQ1YmQ4NTQ1ZmQwMTY3ZWNiZTc5XzM1_a1d8ff08-f4e7-41e1-8838-ef05b0ab42d6">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i0d01182fd3b0465497d99db07a0a6d1c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzYtMS0xLTEtMA_36c7524b-abe1-4ddb-98c8-fc5bc0695ce1"
      unitRef="usd">1194000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="idc6c6b34a234420090941dcab81b2038_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzYtMy0xLTEtMA_a841ef37-9fae-41a5-81ff-2039523101b2"
      unitRef="usd">1057000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i60afced28e3f497d8613e800ef100c20_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzctMS0xLTEtMA_ede27d17-98ef-4139-803f-509bfbcf5960"
      unitRef="usd">169000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie9446ba647a3420b8f72b25fdc46b820_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzctMy0xLTEtMA_7864d39c-7b5e-4e8b-9755-a80616c94003"
      unitRef="usd">169000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzgtMS0xLTEtMA_4d4cfa20-fa31-47f5-8918-0856c7254458"
      unitRef="usd">13000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzgtMy0xLTEtMA_953a6520-6b2f-4f0b-afe7-d9615177f4c1"
      unitRef="usd">13000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ia7d1fd0e3e6542f9a83b81c1e7e02054_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMC0xLTEtNDc2My90ZXh0cmVnaW9uOmI0OTAzMjVjZTljZjRmZDViN2QxZGZkNWJkOTgwNzdjXzEwOTk1MTE2Mjc4MTQ_ae07b9b5-543d-490e-9cef-57eb387ce24f">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i0ce591d99bf1425bb32dbc34f1364feb_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMS0xLTEtMjU5MDc_f331457c-1c6f-4426-b8eb-3454566cf9a0"
      unitRef="usd">105000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="iad78534a538542d8bdc1491b840f56c5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMy0xLTEtNDc2Mw_b1a82967-25a0-45ca-9d3e-e997dee6884f"
      unitRef="usd">0</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ifc36b978a9b248a1855fffbee6b000e6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMS0xLTEtMA_77d20b97-8420-458e-a807-9d0e09805305"
      unitRef="usd">135000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3927acf6355a420ea1726db2feabe97c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzktMy0xLTEtMA_bf3d1e1c-300f-448b-a954-0015a3760192"
      unitRef="usd">140000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzEwLTEtMS0xLTA_7c85472a-ac40-40da-b22e-e167a3ca855e"
      unitRef="usd">3477000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzEwLTMtMS0xLTA_fc9b39af-74e7-4f68-a3f5-79261d30e663"
      unitRef="usd">3084000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzExLTEtMS0xLTA_a102a48d-8709-4dd7-b1b0-f6ee0d583341"
      unitRef="usd">2802000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzExLTMtMS0xLTA_d58d8a70-8ec3-4383-9713-4f8697324194"
      unitRef="usd">2664000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzEyLTEtMS0xLTA_6d059b12-c63c-4ad9-a4c4-b2ae2cf7e9c4"
      unitRef="usd">675000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90YWJsZTpiNDdmMmMwYzUyZTg0Njg5OWY5MGYzYzE0NWIwYTU1MC90YWJsZXJhbmdlOmI0N2YyYzBjNTJlODQ2ODk5ZjkwZjNjMTQ1YjBhNTUwXzEyLTMtMS0xLTA_804df506-ecd6-45f8-a360-163728026800"
      unitRef="usd">420000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:Depreciation
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90ZXh0cmVnaW9uOmFkODUxMDQ2Mjc2MDQ0MDNiYjQ4MzRhMDBhNWM3MGE4XzI1Ng_59e1f6c5-1125-4197-a082-89d82d153086"
      unitRef="usd">200000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTQvZnJhZzphZDg1MTA0NjI3NjA0NDAzYmI0ODM0YTAwYTVjNzBhOC90ZXh0cmVnaW9uOmFkODUxMDQ2Mjc2MDQ0MDNiYjQ4MzRhMDBhNWM3MGE4XzI1Ng_cfaf925c-2b66-46e2-a5bd-eaf300afae75"
      unitRef="usd">200000</us-gaap:Depreciation>
    <us-gaap:OtherCurrentAssetsTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90ZXh0cmVnaW9uOmJmZGQ4YjY2ZTIyZTRmNTE5NDVmOGJlZWEyYTkxMmU0XzEyOQ_18390317-f998-428b-b6cf-ea2f397a13ef">PREPAID AND OTHER CURRENT ASSETS&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prepaid and other current assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center;text-indent:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.564%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid insurance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid rent&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term deposits - non-inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ERTC funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total prepaid and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;782&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:OtherCurrentAssetsTextBlock>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90ZXh0cmVnaW9uOmJmZGQ4YjY2ZTIyZTRmNTE5NDVmOGJlZWEyYTkxMmU0XzEzMg_daf1e76d-c20e-41f6-b161-77ed475b1d6b">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Prepaid and other current assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center;text-indent:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.841%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.562%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.564%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid insurance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid rent&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term deposits - non-inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ERTC funds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total prepaid and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;924&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;782&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <us-gaap:PrepaidInsurance
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzItMS0xLTEtMA_9eb5ce4d-bd34-4e04-9023-91b24fb22efe"
      unitRef="usd">131000</us-gaap:PrepaidInsurance>
    <us-gaap:PrepaidInsurance
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzItMy0xLTEtMA_7b20c298-6103-4c00-b7ba-e32dc7b876dc"
      unitRef="usd">126000</us-gaap:PrepaidInsurance>
    <us-gaap:OtherPrepaidExpenseCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzMtMS0xLTEtMA_1fca0c61-2988-44cd-8e1d-1bf2c364c9ba"
      unitRef="usd">253000</us-gaap:OtherPrepaidExpenseCurrent>
    <us-gaap:OtherPrepaidExpenseCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzMtMy0xLTEtMA_479e5101-af4a-4512-b4dd-34e2c3345591"
      unitRef="usd">233000</us-gaap:OtherPrepaidExpenseCurrent>
    <us-gaap:PrepaidRent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzQtMS0xLTEtMA_f32a92af-6739-4ff8-8710-6ccb25d80483"
      unitRef="usd">74000</us-gaap:PrepaidRent>
    <us-gaap:PrepaidRent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzQtMy0xLTEtMA_96489e62-98dd-43db-89a5-bdfb354281e8"
      unitRef="usd">80000</us-gaap:PrepaidRent>
    <us-gaap:SecurityDeposit
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzUtMS0xLTEtMA_875509ce-74d7-462b-9bf8-64950f0cc962"
      unitRef="usd">18000</us-gaap:SecurityDeposit>
    <us-gaap:SecurityDeposit
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzUtMy0xLTEtMA_29c9643c-ac51-4734-94b4-e4bd03f3a4a3"
      unitRef="usd">0</us-gaap:SecurityDeposit>
    <us-gaap:RestrictedCash
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzctMS0xLTEtMA_73574c3d-094f-4e89-b1d6-754d1b1ce855"
      unitRef="usd">0</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzctMy0xLTEtMA_840feb78-6469-413c-87a9-e1375c2df6aa"
      unitRef="usd">342000</us-gaap:RestrictedCash>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzgtMS0xLTEtNDI1MzA_1b812985-a20c-4586-ad1e-6dddf382f4cf"
      unitRef="usd">445000</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzgtMy0xLTEtNDI1MzA_f003aff8-26f1-427f-a5be-b0564499f062"
      unitRef="usd">0</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzgtMS0xLTEtMA_92a0e807-d1b4-40ba-9628-4759b7ed6683"
      unitRef="usd">3000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzgtMy0xLTEtMA_9c3ab03a-ad34-41de-bc42-6d4e348fd6cf"
      unitRef="usd">1000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzktMS0xLTEtMA_adacbdca-9ddb-4410-b88b-befb8013b845"
      unitRef="usd">924000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNTcvZnJhZzpiZmRkOGI2NmUyMmU0ZjUxOTQ1ZjhiZWVhMmE5MTJlNC90YWJsZTo2YTQxZDkxZDE0MjA0OGY3YmUzYzBlZDI3M2Q5NmFlMS90YWJsZXJhbmdlOjZhNDFkOTFkMTQyMDQ4ZjdiZTNjMGVkMjczZDk2YWUxXzktMy0xLTEtMA_bac6453e-7864-4f57-be05-1bac5bbd5cee"
      unitRef="usd">782000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEyMDA5_047752cb-8247-4f35-822f-9af1343528a2">DEBT&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Credit Facilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 11, 2020, we entered into two debt financing arrangements (together, the &#x201c;Credit Facilities&#x201d;) that allow for expanded borrowing capacity at a lower blended borrowing cost. The first arrangement is an inventory financing facility (the &#x201c;Inventory Facility&#x201d;) pursuant to the Loan and Security Agreement (the &#x201c;Inventory Loan Agreement&#x201d;) between the Company and Crossroads Financial Group, LLC, a North Carolina limited liability company (the &#x201c;IF Lender&#x201d;). Borrowings under the Inventory Facility are permitted up to the lower of (i) $3.0 million, which was subsequently increased to $3.5 million as described below, and (ii) a borrowing base determined from time to time based on the value of the Company&#x2019;s eligible inventory, valued at 75% of inventory costs or 85% of the inventory net orderly liquidation value, less the availability reserves. On April 20, 2021, the Company and the IF Lender entered into an amendment to the Inventory Loan Agreement to increase the maximum amount that may be available to the Company from $3.0 million to $3.5 million, subject to the borrowing base as set forth in the Inventory Loan Agreement. The outstanding indebtedness under the Inventory Facility accrues at an annual rate equal to the greater of (i) 5.75% and (ii) 4.00% plus the three-month LIBOR rate (0.21% and 0.24% at December 31, 2021 and &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2020, respectively) and is also subject to a service fee of 1% per month. The annualized interest rate at December&#160;31, 2021 and 2020, which includes interest fees, the annual facility fee, bank fees and other miscellaneous lender fees, was 22.4% and 23.6%, respectively. The Inventory Facility&#x2019;s interest and service fees combined amount is subject to a minimum monthly fee of $18&#160;thousand. There would be no breakage fee for the Company for the Inventory Facility if the Company were to refinance it with an American Bankers Association (&#x201c;ABA&#x201d;) equivalent institution. The Inventory Facility is secured by substantially all of the present and future assets of the Company and is also governed by an intercreditor agreement among the Company, the IF Lender and the RF Lender (defined below). The Inventory Facility matures on August 11, 2022, subject to early termination upon 90 days&#x2019; notice and otherwise in accordance with the terms of the Inventory Loan Agreement. The term is automatically extended in successive one year increments unless terminated by either party in accordance with the Inventory Loan Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The second arrangement is a receivables financing facility (the &#x201c;Receivables Facility&#x201d;) pursuant to the Loan and Security Agreement (the &#x201c;Receivables Loan Agreement&#x201d;) between the Company and Factors Southwest L.L.C. (d/b/a FSW Funding), an Arizona limited liability company (the &#x201c;RF Lender&#x201d;). Borrowings under the Receivables Facility are permitted up to the lower of (i) $2.5 million or (ii) a borrowing base determined from time to time based on the value of the Company&#x2019;s eligible accounts receivable, valued at 90% of the face value of such accounts receivable, less availability reserves, if any. Interest on outstanding indebtedness under the Receivables Facility accrues at an annual rate equal to (i) the highest prime rate announced from time to time by the Wall Street Journal (3.25% at both December 31, 2021 and 2020) plus (ii) 2%. At December&#160;31, 2021 and 2020, the annualized interest rate, which includes interest fees and the annual facility fee, was 8.0% and 7.9%, respectively. The annualized interest rate on the collateral management fee was 5.9% at both December&#160;31, 2021 and 2020. The Receivables Facility is also secured by substantially all of the present and future assets of the Borrower and is also governed by an intercreditor agreement among the Company, the IF Lender and the RF Lender. A $25&#160;thousand, or 1%, facility fee was charged at closing. There would be no breakage fee for the Company for the Receivables Facility if the Company were to refinance it with an ABA equivalent institution. The Receivables Facility matures on August 11, 2022, subject to early termination in accordance with the terms of the Receivables Loan Agreement; provided that the term is automatically extended in successive one year increments unless terminated by either party in accordance with the Receivables Loan Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Inventory Facility were $1.2 million and $1.3 million at December&#160;31, 2021 and 2020, respectively. Borrowings under the Receivables Facility were $1.0 million at both December&#160;31, 2021 and 2020. Borrowings under the Credit Facilities are recorded in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020 as a current liability under the caption &#x201c;Credit line borrowings, net of origination fees.&#x201d; Outstanding balances include unamortized net issuance costs totaling $84 thousand and $121 thousand for the Inventory Facility and $24&#160;thousand and $40&#160;thousand for the Receivables Facility as of December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Facilities replaced the Austin Facility that was entered into on December 11, 2018 and was secured by a lien on our assets. The Austin Facility was a three year, $5.0 million revolving line of credit. The total loan amount available to us under the Austin Facility from time to time was based on the amount of our (i) qualified accounts receivable, which is equal to the lesser of 85% of our net eligible receivables of, or $4.5 million, plus (ii) available inventory, which is the lesser of 20% of the net realizable value of eligible inventory of, or $500&#160;thousand. The Austin Facility charged interest deeming a minimum borrowing requirement of $1.0 million. Interest on advances under the line was due monthly at the &#x201c;Prime Rate,&#x201d; as published by the Wall Street Journal from time to time, plus a margin of 2%. Overdrafts were subject to a 2% fee. Additionally, an annual facility fee of 1% on the entire $5.0 million amount of the Austin Facility was due at the beginning of each of the three years that the Austin Facility was outstanding and a 0.5% collateral management fee on the average outstanding loan balance was payable monthly. On August 11, 2020, we paid $1.4 million to close the Austin Facility which included a $100&#160;thousand termination fee. Additionally, we wrote off $59&#160;thousand of the remaining related debt acquisition costs. The termination fee and the write-off of debt acquisition costs are reflected as a loss on extinguishment of debt in our Consolidated Statements of Operations for the twelve months ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Streeterville Note&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;27, 2021, we entered into a note purchase agreement with Streeterville Capital, LLC (&#x201c;Streeterville&#x201d;) pursuant to which we sold and issued to Streeterville a promissory note in the principal amount of approximately $1.7 million (the &#x201c;Streeterville Note&#x201d;). The Streeterville Note was issued with an original issue discount of $194&#160;thousand and Streeterville paid a purchase price of $1.5 million for the Streeterville Note, after deduction of $15&#160;thousand of Streeterville&#x2019;s transaction expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Streeterville Note has a maturity date of April&#160;27, 2023, and accrues interest at 8% per annum, compounded daily, on the outstanding balance. The Company may prepay the amounts outstanding under the Streeterville Note at a premium, which is &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;5% during the first three months and 10% thereafter. Prepayments at the reduced rate in the first three months are limited to 50% of the outstanding balance. Beginning on November 1, 2021, Streeterville may require the Company to redeem up to $205&#160;thousand of the Streeterville Note in any calendar month. The Company has the right on three occasions to defer all redemptions that Streeterville could otherwise require the Company to make during any calendar month. Each exercise of this deferral right by the Company will increase the amount outstanding under the Streeterville Note by 1.5%. The Company exercised this right twice during the fourth quarter of 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total liability for the Streeterville Note, net of discount and financing fees, was $1.7 million at December&#160;31, 2021. Unamortized loan discount and debt issuance costs were $43 thousand at December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the event our common stock is delisted from Nasdaq, the amount outstanding under the Streeterville Note will automatically increase by 15% as of the date of such delisting.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;PPP Loan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;17, 2020, the Company was granted a loan from KeyBank National Association (&#x201c;KeyBank&#x201d;) in the amount of approximately $795&#160;thousand, pursuant to the PPP under Division A of the Coronavirus Aid, Relief and Economic Security Act (the &#x201c;CARES Act&#x201d;), which was enacted on March 27, 2020. The funds were received on April 20, 2020 and accrued interest at a rate of 1% per annum. At December&#160;31, 2020, $529&#160;thousand was classified as short-term debt and $266&#160;thousand was classified as long-term debt on the Company&#x2019;s Consolidated Balance Sheet. Under the terms of the PPP, certain amounts of the loan may be forgiven if they are used for qualifying expenses as described in the CARES Act. The entire principal balance and interest were forgiven by the Small Business Administration on February 11, 2021. The $801&#160;thousand forgiveness income was recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Iliad Note&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;25, 2019, we entered into a note purchase agreement (the &#x201c;Iliad Note Purchase Agreement&#x201d;) with Iliad Research and Trading, L.P. (&#x201c;Iliad&#x201d;) pursuant to which the Company sold and issued to Iliad a promissory note in the principal amount of $1.3 million (the &#x201c;Iliad Note&#x201d;). The Iliad Note was issued with an original issue discount of $142&#160;thousand and Iliad paid a purchase price of $1.1 million for the issuance of the Iliad Note, after deduction of $15&#160;thousand of Iliad transaction expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December 1, 2020, we repaid the $30&#160;thousand remaining outstanding balance on the Iliad Note in full prior to its maturity date of November&#160;24, 2021. Remaining debt and original issue discount costs of $117&#160;thousand were written off at that time and are reflected as a loss on extinguishment of debt in our Consolidated Statements of Operations for the year ended December&#160;31, 2020. The Iliad Note accrued interest at 8% per annum, compounded daily, on the outstanding balance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the Iliad Note Purchase Agreement and the Iliad Note, we had, among other things, agreed that, until the Iliad Note was repaid 10% of gross proceeds the Company received from the sale of our common stock or other equity must be paid to Iliad and applied to reduce the outstanding balance of the Iliad Note. In accordance with the terms of the Iliad Note, 10% of the gross proceeds from the January 2020 Equity Offering ($275&#160;thousand) were used to make payments on the Iliad Note, of which $226&#160;thousand went towards the outstanding principal amount.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Convertible Notes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;29, 2019, we issued $1.7 million aggregate principal amount of subordinated convertible promissory notes (the &#x201c;Convertible Notes&#x201d;) to certain investors in a private placement exempt from the registration requirements of the Securities Act of 1933, as amended. The Convertible Notes had a maturity date of December 31, 2021 and bore interest at a rate of 5% per annum until June&#160;30, 2019 and at a rate of 10.0% thereafter. Pursuant to their terms, on January&#160;16, 2020, following approval by our stockholders of certain amendments to the Certificate of Incorporation, the principal amount of all of the Convertible Notes, and the accumulated interest thereon ($0.1 million), which totaled $1.8 million, were converted at a conversion price of $0.67 per share into an aggregate of 2,709,018 shares of the Company&#x2019;s Series A Convertible Preferred Stock, par value $0.0001 per share (the &#x201c;Series A Preferred Stock&#x201d;), which is convertible on a one-for-five basis into shares of our common stock. During the year ended December&#160;31, 2020, 111,548 shares of the Series A Preferred Stock were converted into 22,310 shares of common stock. During the year ended December&#160;31, 2021, 1,721,023 shares of Series A Preferred Stock were converted into 344,205 shares of common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March&#160;29, 2019, which authorized 2,000,000 shares of Series A Preferred Stock (the &#x201c;Original Series A Certificate of Designation&#x201d;). The Original Series A Certificate of Designation was amended on January 15, 2020 following Stockholder &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Approval to increase the number of authorized shares of Series A Preferred to 3,300,000 (the Original Series A Certificate of Designation as so amended, the &#x201c;Series A Certificate of Designation&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall be entitled to a number of votes equal to 11.07% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Series A Preferred Stock (a) has a preference upon liquidation equal to $0.67 per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. We also filed a Certificate of Elimination with respect to the authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of preferred stock available for designation as the Series A Preferred Stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The purchase agreement related to the Convertible Notes contained customary representations and warranties and provided for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <efoi:DebtInstrumentNumberOfCreditFacilities
      contextRef="idaf6193742c24231b85ad8babc0de26d_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3MjY_8fac70b4-947d-4085-8273-8659946dd0ba"
      unitRef="creditfacility">2</efoi:DebtInstrumentNumberOfCreditFacilities>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzUwMw_5fecaaf4-fd59-4880-a7b9-4fcf37fd0f56"
      unitRef="usd">3000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i5e1b54f4de2e455b8122f9e0fcefd992_I20210420"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2Mzk5Mjk_cfc12f1d-c4be-42bf-871c-8fc0ce453907"
      unitRef="usd">3500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <efoi:LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent
      contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYyNw_78965b7e-136f-4111-801f-2e809956ff20"
      unitRef="number">0.75</efoi:LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent>
    <efoi:LineOfCreditFacilityBorrowingCapacityInventoryValuePercent
      contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY1Mg_5a7bee7c-9349-4ac4-bb5f-3bacef8f98ed"
      unitRef="number">0.85</efoi:LineOfCreditFacilityBorrowingCapacityInventoryValuePercent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDAyMzk_5fecaaf4-fd59-4880-a7b9-4fcf37fd0f56"
      unitRef="usd">3000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i5e1b54f4de2e455b8122f9e0fcefd992_I20210420"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDAyNTQ_cfc12f1d-c4be-42bf-871c-8fc0ce453907"
      unitRef="usd">3500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i7bc6737d86504e67a275d08b8de258c3_I20200811"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzg0Nw_2923ee88-201e-4538-84a9-50310fd556c6"
      unitRef="number">0.0575</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="ie8e84d2e1cca4d5fb6ff11993e3e0f78_I20200811"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzg1OQ_de409916-d4c7-412a-a677-22f961114387"
      unitRef="number">0.0400</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <efoi:DebtInstrumentBaseRateVariable
      contextRef="i0043711a97a341c397ab0096699560a4_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTI5OTE_9aac332f-ccc4-4e0e-9f42-88b6a60988f4"
      unitRef="number">0.0021</efoi:DebtInstrumentBaseRateVariable>
    <efoi:DebtInstrumentBaseRateVariable
      contextRef="if5cbdfeed99e46598f3f5d1461b11ab7_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTI5OTg_f3344cf1-12f5-4919-9fa5-49b72bcc3a07"
      unitRef="number">0.0024</efoi:DebtInstrumentBaseRateVariable>
    <efoi:LineOfCreditFacilityMonthlyFacilityFeePercent
      contextRef="i58f196ecff6b46eea4a57dec22f48cda_D20200811-20200811"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzkzNA_d943b133-49a8-4efd-ba20-28c39ca8e157"
      unitRef="number">0.01</efoi:LineOfCreditFacilityMonthlyFacilityFeePercent>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i7a5e71e587f74bc4b89768f2c2db2f25_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDA0NjE_b1b6c9bc-c77d-4ce6-8f1b-4671cf585e27"
      unitRef="number">0.224</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="iab91bc451ca94b2180935128724b06d5_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE0Nzg_1a7e35bb-2946-43b9-a6df-98fdbd6f48bf"
      unitRef="number">0.236</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <efoi:LineOfCreditFacilityMonthlyFacilityFee
      contextRef="i58f196ecff6b46eea4a57dec22f48cda_D20200811-20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzExMTI_f2b66a72-df48-4c52-92dc-f3bca1180d63"
      unitRef="usd">18000</efoi:LineOfCreditFacilityMonthlyFacilityFee>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i67be18c3172a41a8847ae518d3a1cdd9_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzIyNDE_5cb8c7c5-b8f8-4983-98a0-3d79acdde5a1"
      unitRef="usd">2500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <efoi:LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent
      contextRef="i67be18c3172a41a8847ae518d3a1cdd9_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzIzNzQ_b05428bc-59e0-45f5-80fc-a24c301bb59f"
      unitRef="number">0.90</efoi:LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent>
    <efoi:DebtInstrumentBaseRateVariable
      contextRef="i4597721858924a03be6c0c147231d8ec_I20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTMwNTE_840cc9c2-aa93-4bd9-9356-b07d1618e5a8"
      unitRef="number">0.0325</efoi:DebtInstrumentBaseRateVariable>
    <efoi:DebtInstrumentBaseRateVariable
      contextRef="i1fede1b9f5c44ee4996d1809dea254bb_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTMwNTE_98a4f929-7df7-443f-9ac7-3283fa8cf52e"
      unitRef="number">0.0325</efoi:DebtInstrumentBaseRateVariable>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i67be18c3172a41a8847ae518d3a1cdd9_I20200811"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI2NTU_e378de6f-c5a0-42cf-8809-32dbaa2e110e"
      unitRef="number">0.02</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i9831e7a6aa584250a1fcd1383c52f824_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE0OTg_9bc5cc9c-d3be-4686-a2ac-a5d83ac76cb9"
      unitRef="number">0.080</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE0ODI_b2e186a0-8c24-4978-b8d6-5f4e48e78c3b"
      unitRef="number">0.079</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <efoi:DebtInstrumentInterestRateStatedPercentageCollateralManagementFee
      contextRef="i9831e7a6aa584250a1fcd1383c52f824_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU2ODI_1c627218-0c56-4a16-96ea-4ec12ac08b04"
      unitRef="number">0.059</efoi:DebtInstrumentInterestRateStatedPercentageCollateralManagementFee>
    <efoi:DebtInstrumentInterestRateStatedPercentageCollateralManagementFee
      contextRef="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU2ODI_52b5e60b-8e29-4732-864e-63e5c17da039"
      unitRef="number">0.059</efoi:DebtInstrumentInterestRateStatedPercentageCollateralManagementFee>
    <efoi:LineOfCreditFacilityMonthlyFacilityFee
      contextRef="i4db6a51dd4eb466c96b4891040f242ac_D20200811-20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzMwMDc_6a13db74-d437-48c0-8d91-a202db00964c"
      unitRef="usd">25000</efoi:LineOfCreditFacilityMonthlyFacilityFee>
    <efoi:LineOfCreditFacilityMonthlyFacilityFeePercent
      contextRef="i4db6a51dd4eb466c96b4891040f242ac_D20200811-20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzMwMTQ_56458b95-21af-4703-a0d7-318c6e8ffa91"
      unitRef="number">0.01</efoi:LineOfCreditFacilityMonthlyFacilityFeePercent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i7a5e71e587f74bc4b89768f2c2db2f25_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTE5Njk_a63bb3eb-f396-4a87-a093-e52c2edd90a6"
      unitRef="usd">1200000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="iab91bc451ca94b2180935128724b06d5_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTE5NTU_96ea379e-3cf0-47d8-87ee-b36228a26ba0"
      unitRef="usd">1300000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i9831e7a6aa584250a1fcd1383c52f824_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE2ODE_34bd25f9-e8c1-4a1d-b8c5-657ed908b91d"
      unitRef="usd">1000000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE2ODE_74300c19-b0a3-4988-90cc-ec079f54d470"
      unitRef="usd">1000000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="i7a5e71e587f74bc4b89768f2c2db2f25_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTE5Nzc_4e4f0eab-96c7-4fbd-bd13-be43318140cb"
      unitRef="usd">84000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="iab91bc451ca94b2180935128724b06d5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NTE5NjI_f65347b1-e07c-48ab-8d1e-379d3322a304"
      unitRef="usd">121000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="i9831e7a6aa584250a1fcd1383c52f824_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDE3NDA_185a4956-5749-43d4-a545-b108c161e78a"
      unitRef="usd">24000</us-gaap:UnamortizedDebtIssuanceExpense>
    <us-gaap:UnamortizedDebtIssuanceExpense
      contextRef="i0f5dd66ae9cc4432a839d3acfe9618a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzM4OTU_22bba8f9-6b0e-4286-9ec4-208b7bbff2d3"
      unitRef="usd">40000</us-gaap:UnamortizedDebtIssuanceExpense>
    <efoi:LineOfCreditFacilityAnnualFacilityFeePeriod
      contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3MjA_8c47bdfd-31d2-48ce-aeef-a9722a2f0cde">P3Y</efoi:LineOfCreditFacilityAnnualFacilityFeePeriod>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQxMzY_9c240b8c-b6a0-495c-a697-b6ed5831a4cc"
      unitRef="usd">5000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <efoi:LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts
      contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQzNDU_826f8f46-7789-4ac0-88e8-42c39b019481"
      unitRef="number">0.85</efoi:LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts>
    <efoi:LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts
      contextRef="idaf6193742c24231b85ad8babc0de26d_I20200811"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQzODc_a5c901f9-a1ca-48be-9246-4a1f45fccbd5"
      unitRef="usd">4500000</efoi:LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts>
    <efoi:LineOfCreditFacilityAvailableInventoryNetRealizableValue
      contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ0NDU_c53056d8-66eb-416c-80e3-e0452194100c"
      unitRef="number">0.20</efoi:LineOfCreditFacilityAvailableInventoryNetRealizableValue>
    <efoi:LineOfCreditFacilityAvailableInventory
      contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ1MDU_4066744c-79d8-40b6-a71e-97583c70c202"
      unitRef="usd">500000</efoi:LineOfCreditFacilityAvailableInventory>
    <efoi:LineOfCreditFacilityMinimumRequirement
      contextRef="ic9db06faf1024e7a9f0736ed8807b507_D20200811-20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ1ODk_f1b005cc-6682-46ab-bc1d-a4107908a753"
      unitRef="usd">1000000</efoi:LineOfCreditFacilityMinimumRequirement>
    <efoi:LineOfCreditFacilityOverdraftFeePercent
      contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ3NDI_8c1a01de-8d81-4b64-af8f-fff2243781f2"
      unitRef="number">0.02</efoi:LineOfCreditFacilityOverdraftFeePercent>
    <efoi:LineOfCreditFacilityOverdraftFeePercent
      contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ4MTE_e00cb4e9-440c-4b2a-bbcb-ad619d27f721"
      unitRef="number">0.02</efoi:LineOfCreditFacilityOverdraftFeePercent>
    <efoi:LineOfCreditFacilityAnnualFeePercent
      contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ4NTk_4a0130fc-e052-4c72-ad87-0cbdd263f1c3"
      unitRef="number">0.01</efoi:LineOfCreditFacilityAnnualFeePercent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i84bf5ea448374dcda80f3febd9ce79d8_I20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ4NzY_9c240b8c-b6a0-495c-a697-b6ed5831a4cc"
      unitRef="usd">5000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <efoi:LineOfCreditFacilityAnnualFacilityFeePeriod
      contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ5NDk_fb54c097-bd3d-41cf-9c10-5b3dae7e1f31">P3Y</efoi:LineOfCreditFacilityAnnualFacilityFeePeriod>
    <efoi:LineOfCreditFacilityCollateralManagementFeePercent
      contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzQ5OTk_9eee060f-e063-42b1-9a5c-e25f2e1f29ae"
      unitRef="number">0.005</efoi:LineOfCreditFacilityCollateralManagementFeePercent>
    <us-gaap:PaymentsOfDebtExtinguishmentCosts
      contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzUyODE_2388cfa7-5f21-4e92-825a-b0d71fef84cb"
      unitRef="usd">1400000</us-gaap:PaymentsOfDebtExtinguishmentCosts>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="ibe5ff5c5b9b74855ae743afcbd43e396_I20200811"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzUzMzA_022811bf-03be-4d61-afb1-8575edcfe505"
      unitRef="usd">100000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="i17129917dc5d40e89d9e0f8f04fd25c7_D20200811-20200811"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzUzNzc_76453bc6-b5dd-44bf-b6f3-0fe2f18de6b8"
      unitRef="usd">59000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="if964e91e61a049199762807497f4fe6d_I20210427"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDMzOTY_a430173c-6e62-48e9-9256-f37956b5f272"
      unitRef="usd">1700000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="if964e91e61a049199762807497f4fe6d_I20210427"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MDI_fb7daca2-7eb4-417d-993d-fe0555d5fd09"
      unitRef="usd">194000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="id4197631807248e6a15b736ef527f10d_D20210427-20210427"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MDk_8392efcc-b35a-4bf7-9a71-ce5049604b70"
      unitRef="usd">1500000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="if964e91e61a049199762807497f4fe6d_I20210427"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MTU_4716c475-2f6e-415e-8693-6d0e11796e42"
      unitRef="usd">15000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="if964e91e61a049199762807497f4fe6d_I20210427"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MjU_36174ff8-3a90-4a35-91f3-1bc882cd8a4d"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <efoi:DebtInstrumentPrepaymentPremiumPercent
      contextRef="ice26cbede5f042ffae76128fc6be5638_D20210427-20210427"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0Mjk_1d3ec818-44f2-46b8-8a8b-c148f3038dec"
      unitRef="number">0.05</efoi:DebtInstrumentPrepaymentPremiumPercent>
    <efoi:DebtInstrumentPrepaymentPremiumPercent
      contextRef="i773fb6b2d0a9406daa2a2e9864b7b65f_D20210427-20210427"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0MzM_4d0c93b8-bb86-4244-be80-3ca9644c56a4"
      unitRef="number">0.10</efoi:DebtInstrumentPrepaymentPremiumPercent>
    <efoi:DebtPrepaymentMaximumPercentage
      contextRef="ice26cbede5f042ffae76128fc6be5638_D20210427-20210427"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3MzA_0bf7db8c-b633-43b1-bcb9-71d6e1895fa9"
      unitRef="number">0.50</efoi:DebtPrepaymentMaximumPercentage>
    <efoi:DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount
      contextRef="if964e91e61a049199762807497f4fe6d_I20210427"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0NDE_b7dbf400-074d-4130-9408-89b6c4d18010"
      unitRef="usd">205000</efoi:DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount>
    <efoi:DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals
      contextRef="id4197631807248e6a15b736ef527f10d_D20210427-20210427"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3NDE_33f44537-e428-441d-b634-6da3df1b1032"
      unitRef="deferral">3</efoi:DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals>
    <efoi:NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption
      contextRef="id4197631807248e6a15b736ef527f10d_D20210427-20210427"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0NTQ_ab198f63-8ca3-47bd-90f4-747a2bbd8e42"
      unitRef="number">0.015</efoi:NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="ib99d645c15c4437bad8769b7f7178def_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0NjY_ffd91740-22cb-482a-8c4e-250d19d00d6b"
      unitRef="usd">1700000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="ib99d645c15c4437bad8769b7f7178def_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0NzM_15fafc7f-71c8-468f-a8b3-e4fe8c74ce4c"
      unitRef="usd">43000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <efoi:DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange
      contextRef="id4197631807248e6a15b736ef527f10d_D20210427-20210427"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDM0ODA_3e8dcf63-64c2-4dbe-a506-8a9a5afa6976"
      unitRef="number">0.15</efoi:DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange>
    <us-gaap:ProceedsFromLoanOriginations1
      contextRef="if96f463cbc104c67bd5c475b229d0070_D20200417-20200417"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU2OTY_83b32fc1-5b7a-4417-86ab-4229bfa5f446"
      unitRef="usd">795000</us-gaap:ProceedsFromLoanOriginations1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="idda38c33d24c4b43a1f381624845675c_I20200417"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzI3NDg3NzkwOTQ3NDU_c6784d21-8eec-4203-8ece-e7b874534ac8"
      unitRef="number">0.01</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <efoi:PaymentProtectionProgramCurrent
      contextRef="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDQ3MzU_65b82cb1-3baf-48cc-a99c-233cde1ce428"
      unitRef="usd">529000</efoi:PaymentProtectionProgramCurrent>
    <efoi:PaymentProtectionProgramNoncurrent
      contextRef="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDQ3NDU_82beb5c3-b239-4c48-875e-feabd9681905"
      unitRef="usd">266000</efoi:PaymentProtectionProgramNoncurrent>
    <efoi:GainLossOnForgivenessOfDebt
      contextRef="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDU3MDE_c0baec71-3224-44b5-ae0d-54edf719bcf8"
      unitRef="usd">801000</efoi:GainLossOnForgivenessOfDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i90c085f859574bfebac847d55bbc3e34_I20191125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3MDg_13f41fcf-91fa-42c1-8ec4-dca00ef6d67b"
      unitRef="usd">1300000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentUnamortizedPremium
      contextRef="i90c085f859574bfebac847d55bbc3e34_I20191125"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3MTU_1ebe615f-da63-402f-9958-a0b58334d61e"
      unitRef="usd">142000</us-gaap:DebtInstrumentUnamortizedPremium>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="ib1e15e5d401847fdbcb7b4b5bae128d9_D20191125-20191125"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3MjI_f8a72077-4f08-4825-a7bd-d774f110fc58"
      unitRef="usd">1100000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="i90c085f859574bfebac847d55bbc3e34_I20191125"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3Mjk_0d7d3fea-bd56-435c-acc3-f1df91be5547"
      unitRef="usd">15000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:RepaymentsOfDebt
      contextRef="ide56ed12b20d48d9b4d94f428ba486bf_D20201201-20201201"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3MzY_630b3a4a-096c-40e7-b7ff-dea073d9f1c7"
      unitRef="usd">30000</us-gaap:RepaymentsOfDebt>
    <us-gaap:WriteOffOfDeferredDebtIssuanceCost
      contextRef="ide56ed12b20d48d9b4d94f428ba486bf_D20201201-20201201"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3NDc_5e44d9e8-de4c-4691-8d63-ceb18091f211"
      unitRef="usd">117000</us-gaap:WriteOffOfDeferredDebtIssuanceCost>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i90c085f859574bfebac847d55bbc3e34_I20191125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3NTM_de2870c1-caca-4a38-88c2-86abf84ff03c"
      unitRef="number">0.08</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <efoi:DebtInstrumentProceedsToBePaidToLenderPercent
      contextRef="ie16f6e9c23a64c85a13cf785e1723ae8_D20191125-20191125"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3NzQ_f9de09ba-25df-44e8-9c24-a9d07de31b7f"
      unitRef="number">0.10</efoi:DebtInstrumentProceedsToBePaidToLenderPercent>
    <efoi:DebtInstrumentProceedsToBePaidToLenderPercent
      contextRef="ie16f6e9c23a64c85a13cf785e1723ae8_D20191125-20191125"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU3Nzg_f9de09ba-25df-44e8-9c24-a9d07de31b7f"
      unitRef="number">0.10</efoi:DebtInstrumentProceedsToBePaidToLenderPercent>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU4MjM_2b7cd007-41a8-4a09-ae2c-e38356233bf3"
      unitRef="usd">275000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i22379ce6d882415580b9a3b1a8bb4ca4_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzE2NDkyNjc0NjU4Mzk_e500e83b-5448-467a-99d5-5ef53d762875"
      unitRef="usd">226000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt
      contextRef="icdcfe2637deb4eb98cdaa89aec70b7f3_D20190329-20190329"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzU2NTg_94566e30-c8e0-46b2-a8f2-9b61845ed660"
      unitRef="usd">1700000</us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt>
    <us-gaap:DebtConversionOriginalDebtInterestRateOfDebt
      contextRef="i48990753270143b197bba2add072416d_D20190329-20190630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzU5ODI_876a4e0b-c485-4d86-8c52-4bdf498f39a4"
      unitRef="number">0.05</us-gaap:DebtConversionOriginalDebtInterestRateOfDebt>
    <us-gaap:DebtConversionOriginalDebtInterestRateOfDebt
      contextRef="ic344ceb0ca0f42c3b01d4208ea00d26e_D20190701-20200116"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYwMjE_4e757749-f63a-47cc-a19a-f4a04c524536"
      unitRef="number">0.100</us-gaap:DebtConversionOriginalDebtInterestRateOfDebt>
    <efoi:AccumulatedInterestOnSubordinatedDebt
      contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYyNTg_317e032b-fba0-4c78-9a6c-d01a0a3d01c7"
      unitRef="usd">100000</efoi:AccumulatedInterestOnSubordinatedDebt>
    <efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock
      contextRef="i6b533f191bba46238f4755579bff014b_D20200116-20200116"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYyNzc_66f37685-1d01-4999-b173-39049b25b8ea"
      unitRef="usd">1800000</efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYzMjE_1037fc0d-ecdc-4514-844b-29f61393a5c4"
      unitRef="usdPerShare">0.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i6b533f191bba46238f4755579bff014b_D20200116-20200116"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzYzNTU_a77d1017-fe13-42a5-87e0-768bcbef4932"
      unitRef="shares">2709018</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY0MzA_5ead29f2-d542-4fce-aab9-ef13af80d652"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i5f579cbb1c984446a8eb1c108e231de1_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY1ODE_4d1c807e-3761-4074-a007-456cd2837578"
      unitRef="shares">111548</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i1ce2ebfacfc44de5aa6097399cebb658_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY2NDM_a22a3674-f303-425f-84c8-66c97d0ddeae"
      unitRef="shares">22310</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="iaa5b42f29fe84c538a08e2001f41f572_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDkzNjM_f10c6980-9a19-4794-91f4-7dad60f80ce2"
      unitRef="shares">1721023</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i059252fc965140ddb0415c20605988f6_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzEwOTk1MTE2NDkzNTE_67ee8d08-a64c-4e3b-ada8-9660f3613519"
      unitRef="shares">344205</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i0d6ab6cb7de94ed9a7277e48db2a6d3f_I20190329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzY4MzQ_55dabd02-edff-4133-acf3-01e6c11e370e"
      unitRef="shares">2000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ie67bfb806db345368ab13b6a42410e59_I20200115"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzcxMDc_ed0c6d62-7bee-4f69-8997-b31c7d261b44"
      unitRef="shares">3300000</us-gaap:PreferredStockSharesAuthorized>
    <efoi:PercentageOfSeriesAPreferredStockEligibleToVote
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzc2OTA_92e7841b-66f2-4772-8558-370b7c8e41a9"
      unitRef="number">0.1107</efoi:PercentageOfSeriesAPreferredStockEligibleToVote>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjMvZnJhZzozMWE2MzE3Y2JiMjA0Y2QxYjVhOTUzNzE0NzZlYjJhYy90ZXh0cmVnaW9uOjMxYTYzMTdjYmIyMDRjZDFiNWE5NTM3MTQ3NmViMmFjXzc4NzY_1037fc0d-ecdc-4514-844b-29f61393a5c4"
      unitRef="usdPerShare">0.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjYvZnJhZzphZTFiN2RlYjE3ZmE0ODBjODA1Y2I0ODM0MDljYWQ2My90ZXh0cmVnaW9uOmFlMWI3ZGViMTdmYTQ4MGM4MDVjYjQ4MzQwOWNhZDYzXzIyOQ_81d0d341-0708-4283-a091-7b2d1b70272d">COMMITMENTS AND CONTINGENCIES&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Purchase Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, we had approximately $1.7 million in outstanding purchase commitments for inventory, of which $1.5 million is expected to ship in the first quarter of 2022, and $0.2 million in the second quarter of 2022 and thereafter.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:PurchaseObligation
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjYvZnJhZzphZTFiN2RlYjE3ZmE0ODBjODA1Y2I0ODM0MDljYWQ2My90ZXh0cmVnaW9uOmFlMWI3ZGViMTdmYTQ4MGM4MDVjYjQ4MzQwOWNhZDYzXzk5_df025e7f-9fd0-4235-9cec-8dfb71a0fa8d"
      unitRef="usd">1700000</us-gaap:PurchaseObligation>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="ifbc5784ca5f748d4bf1bdaa88d8133ad_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjYvZnJhZzphZTFiN2RlYjE3ZmE0ODBjODA1Y2I0ODM0MDljYWQ2My90ZXh0cmVnaW9uOmFlMWI3ZGViMTdmYTQ4MGM4MDVjYjQ4MzQwOWNhZDYzXzE2Mg_6a6d695f-ae1b-497c-b76e-c55080df6861"
      unitRef="usd">1500000</us-gaap:LongTermPurchaseCommitmentAmount>
    <us-gaap:LongTermPurchaseCommitmentAmount
      contextRef="id704b55736834b05bf98ea790e0fe70e_D20220401-20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjYvZnJhZzphZTFiN2RlYjE3ZmE0ODBjODA1Y2I0ODM0MDljYWQ2My90ZXh0cmVnaW9uOmFlMWI3ZGViMTdmYTQ4MGM4MDVjYjQ4MzQwOWNhZDYzXzEwOTk1MTE2MjgwMzI_e19dd337-85fe-4b13-a83c-354141ba9ae3"
      unitRef="usd">200000</us-gaap:LongTermPurchaseCommitmentAmount>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTgw_1d238154-b37a-4d52-a7df-9a6191b02a1a">STOCKHOLDERS&#x2019; EQUITY&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;December 2021 Private Placement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2021, we completed the December 2021 Private Placement with certain institutional investors for the sale of 1,193,185 shares of our common stock at a purchase price of $3.52 per share. We also sold to the same institutional investors (i) Pre-Funded Warrants to purchase 85,228 shares of common stock at an exercise price of $0.0001 per share and (ii) warrants (collectively with the Pre-Funded Warrants, the &#x201c;December 2021 Warrants&#x201d;) to purchase up to an aggregate of 1,278,413 shares of common stock at an exercise price of $3.52 per share. We paid the placement agent commission of $360&#160;thousand plus $42&#160;thousand in expenses in connection with the December 2021 Private Placement and we also paid legal, accounting and other fees of $97&#160;thousand related to the December 2021 Private Placement. Total offering costs of $499&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December 31, 2021. Net proceeds from the December 2021 Private Placement were approximately $4.0 million. We determined the exercise price of the Pre-Funded Warrants to be nominal and, as such, have considered the 85,228 shares underlying them to be outstanding effective December 16, 2021, for the purposes of calculating basic EPS.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, December 2021 Warrants to purchase an aggregate of 1,363,641 shares remained outstanding, with a weighted average exercise price of $3.30 per share. None of the December 2021 Warrants were exercised as of December&#160;31, 2021. In January 2022, all of the Pre-Funded Warrants were exercised. The exercise of the remaining December 2021 Warrants outstanding could provide us with cash proceeds of up to $4.5&#160;million in the aggregate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, we had the following outstanding December 2021 Warrants to purchase shares of common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.859%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.763%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="6" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Underlying Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Expiration&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,278,413&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.5200&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 16, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pre-Funded Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,228&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$0.0001&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;None&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,363,641&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;June 2021 Equity Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2021, we completed a registered direct offering of 990,100 shares of our common stock to certain institutional investors, at a purchase price of $5.05 per share. We paid the placement agent commissions of $400 thousand, plus $51 thousand in expenses, in connection with the June 2021 Equity Offering and we also paid legal and other fees of $19 thousand related to the offering. Total offering costs of $470&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Condensed Consolidated Balance Sheet as of December&#160;31, 2021. Net proceeds to us from the June 2021 Equity Offering were approximately $4.5 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Preferred Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the terms of the Convertible Notes, on January 16, 2020, following approval by our stockholders of certain amendments to the Certificate of Incorporation, the principal amount of all of the Convertible Notes and the accumulated interest thereon at the date of conversion (totaling $1.8 million) were converted at a conversion price of $0.67 per share into an aggregate of 2,709,018 shares of the Company&#x2019;s Series A Preferred Stock, which is convertible on a one-for-five basis into shares of our common stock. During the year ended December&#160;31, 2020, 111,548 shares of the Series A Preferred Stock were converted into 22,310 shares of common stock. During the year ended December&#160;31, 2021, 1,721,023 shares of Series A Preferred Stock were converted into 344,205 shares of common stock. The Series A Preferred Stock that was converted in 2021 was held by a Schedule 13D ownership group (under Section 13(d)(3) of the Securities Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder) that includes Fusion Park LLC (&#x201c;Fusion Park&#x201d;) and 5 Elements Global Fund L.P. (controlled affiliates of James Tu, the Company's former Executive Chairman and Chief Executive Officer and current member of the Board of Directors), as well as Brilliant Start Enterprise Inc. (&#x201c;Brilliant Start&#x201d;) and Jag International Ltd. (controlled affiliates of Gina Huang, a member of the Company's Board of Directors). Upon conversion of their respective shares of Series A Preferred Stock in 2021, Fusion Park and Brilliant Start received 184,851 and 159,354 shares, respectively, of the Company&#x2019;s common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Series A Preferred Stock was created by the filing of a Certificate of Designation with the Secretary of State of the State of Delaware on March&#160;29, 2019, which designated 2,000,000 shares of the Company&#x2019;s preferred stock, par value $0.0001 per share, as Series A Preferred Stock (the &#x201c;Original Series A Certificate of Designation&#x201d;). On January 15, 2020 with prior stockholder approval, the Company amended the Certificate of Incorporation to increase the number of authorized shares of preferred stock to 5,000,000. The Original Series A Certificate of Designation was also amended on January 15, 2020, to increase the number of shares of preferred stock designated as Series A Preferred Stock to 3,300,000 (the Original Series A Certificate of Designation, as so amended, the &#x201c;Series A Certificate of Designation&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Pursuant to the Series A Certificate of Designation, each holder of outstanding shares of Series A Preferred Stock is entitled to vote with holders of outstanding shares of common stock, voting together as a single class, with respect to any and all matters presented to the stockholders of the Company for their action or consideration, except as provided by law. In any such vote, each share of Series A Preferred Stock shall entitle its holder to a number of votes equal to 11.07% of the number of shares of common stock into which such share of Series A Preferred Stock is convertible.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Series A Preferred Stock (a) has a preference upon liquidation equal to $0.67 per share and then participates on an as-converted basis with the common stock with respect to any additional distributions, (b) shall receive any dividends declared and payable on our common stock on an as-converted basis, and (c) is convertible at the option of the holder into shares of our common stock on a one-for-five basis. On March 29, 2019, the Company also filed a Certificate of Elimination with respect to its authorized, but unissued, Series A Participating Preferred Stock, to return such shares to the status of undesignated preferred stock available for designation as Series A Preferred Stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The purchase agreement related to the Convertible Notes contained customary representations and warranties and provided for resale registration rights with respect to the shares of our common stock issuable upon conversion of the Series A Preferred Stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;1-for-5 Reverse Stock Split&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June 11, 2020, in accordance with previous stockholder approval, our Board of Directors effected a 1-for-5 reverse stock split of the Company&#x2019;s common stock, par value $0.0001 per share. The reverse stock split became effective at the Effective Time upon the filing of the Certificate of Amendment to the Certificate of Incorporation with the Delaware Secretary of State. At the Effective Time, every five shares of common stock issued and outstanding automatically combined into one validly issued, fully paid and non-assessable share of common stock. No fractional shares were issued as a result of the reverse stock split. The fractional shares were settled in cash in an amount not material to the Company. The $0.0001 par value per share of &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;common stock and other terms of the common stock were not affected by the reverse stock split. The number of authorized shares of common stock under the Certificate of Incorporation remained unchanged at 50,000,000 shares.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Proportional adjustments were made to the conversion and exercise prices of our outstanding warrants and stock options, and to the number of shares issued and issuable under our stock incentive plans in connection with the reverse stock split. The financial statements for the twelve months ended December&#160;31, 2020 have been retroactively adjusted to reflect the reverse stock split. Preferred shares outstanding were not affected by the reverse stock split and, as such, those shares have not been adjusted.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The reverse stock split was effected solely to increase the per share trading price of the common stock to satisfy the $1.00 minimum bid price requirement pursuant to Nasdaq Listing Rule 5550(a)(2) for continued listing on Nasdaq. The common stock began trading on Nasdaq on a split-adjusted basis at the opening of trading on June 12, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;January 2020 Equity Offering&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2020, we completed a registered direct offering for the sale of 688,360 shares of our common stock to certain institutional investors, at a purchase price of $3.37 per share. We also sold, to the same institutional investors, warrants to purchase up to 688,360 shares of common stock at an exercise price of $3.37 per share (the, &#x201c;Investor Warrants&#x201d;) in a concurrent private placement for a purchase price of $0.625 per warrant. We paid the placement agent commissions of $193&#160;thousand plus $50&#160;thousand in expenses in connection with the registered direct offering and the concurrent private placement and we also paid legal, accounting and other fees of $231&#160;thousand related to the offering. Total offering costs of $510&#160;thousand have been presented as a reduction of additional paid-in capital and have been netted within equity in the Consolidated Balance Sheet as of December&#160;31, 2021 and 2020. In addition, we issued warrants to the placement agent to purchase up to 48,185 shares of common stock at an exercise price of $4.99 per share (together with the Investor Warrants, the &#x201c;January 2020 Warrants&#x201d;). Net proceeds to us from the sale of common stock and January 2020 Warrants were approximately $2.3 million. In accordance with the terms of the Iliad Note, 10% of the gross proceeds from the January 2020 Equity Offering ($275&#160;thousand) were used to make payments on the Iliad Note, of which $226&#160;thousand went towards the outstanding principal amount and the balance to interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;January 2020 Warrants issued to purchase an aggregate of 229,414 shares remain outstanding at December&#160;31, 2021, with a weighted average exercise price of $3.67 per share. During the twelve months ended December&#160;31, 2021, 237,892 January 2020 Warrants issued were exercised resulting in total proceeds of $801 thousand. The exercise of the remaining January 2020 Warrants outstanding could provide us with cash proceeds of up to $841 thousand in the aggregate. At December&#160;31, 2020, January 2020 Warrants issued to purchase an aggregate of 467,306 shares remained outstanding, with a weighted average exercise price of $3.51 per share. During the twelve months ended December&#160;31, 2020, 269,240 January 2020 Warrants issued were exercised, resulting in total proceeds of $918 thousand.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021 and 2020, we had the following outstanding January 2020 Warrants to purchase shares of common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.379%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.736%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.548%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Underlying Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Expiration&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investor Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,734&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;425,626&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.3700&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 13, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Placement Agent Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,680&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,680&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$4.9940&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 13, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;229,414&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;467,306&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Warrant Classification&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for common stock warrants as either liabilities or equity instruments depending on the specific terms of the warrant agreement. Common stock warrants that could require cash settlement are accounted for as liabilities and are revalued at fair value at each balance sheet date subsequent to the initial issuance. Changes in the fair market value of the warrant are reflected in the consolidated statement of operations as income (expense) based upon the change in fair value of warrants. Common stock warrants without cash settlement provisions are accounted for as equity and re-measurement at each balance sheet date is not required.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The January 2020 Warrants we issued in the January 2020 Equity Offering contained a provision for net cash settlement in the event that there is a fundamental transaction involving the Company (e.g., merger, sale of substantially all assets, tender offer, or share exchange). Due to this provision, the January 2020 Warrants were initially classified as liabilities, as opposed to equity, and were recorded at their fair values at each balance sheet date with fair value adjustments recognized as a component of earnings. During December 2020, the warrant holders agreed to a modification of the terms of their January 2020 Warrants which removed the potential cash settlement option upon the occurrence of a fundamental transaction. As such, during the fourth quarter of 2020, the warrant liability was fair-valued through the modification date and then was reclassified into equity and the January 2020 Warrants are no longer subject to re-measurement at each balance sheet date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 18, 2020, our Board of Directors approved the Energy Focus, Inc. 2020 Stock Incentive Plan (the &#x201c;2020 Plan&#x201d;). The 2020 Plan was approved by the stockholders at our annual meeting on September 17, 2020, after which no further awards could be issued under the Energy Focus, Inc. 2014 Stock Incentive Plan (the &#x201c;2014 Plan&#x201d;). The 2020 Plan initially allows for awards up to 350,000 shares of common stock and expires on September 17, 2030. At December&#160;31, 2021, 208,256 shares remain available to grant under the 2020 Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 6, 2014, our Board of Directors approved the 2014 Plan. The 2014 Plan was approved by the stockholders at our annual meeting on July 15, 2014, after which no further awards could be issued under the Energy Focus, Inc. 2008 Incentive Stock Plan (the &#x201c;2008 Plan&#x201d;). The 2014 Plan initially allowed for awards up to 120,000 shares of common stock and expires on July 15, 2024. On July 22, 2015, the stockholders approved an amendment to the 2014 Plan to increase the shares available for issuance under the 2014 Plan by an additional 120,000 shares. On June 21, 2017, the stockholders approved an amendment to the 2014 Plan to increase the shares available for issuance under the 2014 Plan by an additional 260,000. No awards may be granted under this plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have one other historical equity-based compensation plan under which options are currently outstanding; however, no new awards may be granted under this plan. Generally, stock options are granted at fair market value and expire ten years from the grant date. Employee grants generally vest in &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTY4_e102dd0f-9627-4c4e-9b7d-2411cb446505"&gt;three&lt;/span&gt; or four years, while grants to non-employee directors generally vest in one year. The specific terms of each grant are determined by our Board of Directors. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense is attributable to stock options and restricted stock unit awards. For all stock-based awards, we recognize compensation expense using a straight-line amortization method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Product development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general, and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2021 and 2020, we had unearned stock compensation expense of $0.3 million and $0.2 million, respectively. These costs will be charged to expense and amortized on a straight-line basis in subsequent periods. The remaining weighted average period over which the unearned compensation is expected to be amortized was approximately 2.7 years as of December&#160;31, 2021 and 3.1 years as of December 31, 2020.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of each stock option is estimated on the date of grant using the Black-Scholes option pricing model. Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further comparatively detailed as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of options issued&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercise price&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.07&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected life of option (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We utilize the simplified method as provided by ASC 718-10 to calculate the expected stock option life. Under ASC 718-10, the expected stock option life is based on the midpoint between the vesting date and the end of the contractual term of the stock option award. The use of this simplified method in place of using the actual historical exercise data is allowed when a stock option award meets all of the following criteria: the exercise price of the stock option equals the stock price on the date of grant; the exercisability of the stock option is only conditional upon completing the service requirement through the vesting date; employees who terminate their service prior to the vesting date forfeit their stock options; employees who terminate their service after vesting are granted a limited time period to exercise their stock options; and the stock options are nontransferable and non-hedgeable. We believe that our stock option awards meet all of these criteria. The estimated expected life of the option is calculated based on contractual life of the option, the vesting life of the option, and historical exercise patterns of vested options. The risk-free interest rate is based on U.S. treasury zero-coupon yield curve on the grant date for a maturity similar to the expected life of the option. The volatility estimates are calculated using historical volatility of our stock price calculated over a period of time representative of the expected life of the option. We have not paid dividends in the past, and do not expect to pay dividends over the corresponding expected term as of the grant date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Options outstanding under all plans at December&#160;31, 2021 have a contractual life of ten years, and vesting periods between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDc1_49d4c02d-9dbd-42f5-ad55-56f087c1ed05"&gt;one&lt;/span&gt; and four years. A summary of option activity under all plans was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.228%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.230%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of&lt;br/&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise Price&lt;br/&gt;Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,774)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.56&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,157)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.07&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,706)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,650)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,225)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Outstanding at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:5pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested and expected to vest at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The &#x201c;Expected to Vest&#x201d; options are the unvested options that remain after applying the pre-vesting forfeiture rate assumption to total unvested options. 4,225 options were exercised during 2021 and 12,157 options were exercised during 2020. The total intrinsic value of options outstanding and options exercisable at December&#160;31, 2021 was $426 thousand and $191 thousand, respectively, which was calculated using the closing stock price at the end of the year of $4.27 per share less the option price of the in-the-money grants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The options outstanding at December&#160;31, 2021 have been segregated into ranges for additional disclosure as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.095%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.424%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.801%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.234%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.975%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;OPTIONS OUTSTANDING&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;OPTIONS EXERCISABLE&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Range of&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Exercise Prices&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of Shares Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of Shares Exercisable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1.45&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1.68&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,377&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1.69&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$2.20&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$2.21&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.42&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.43&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.81&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.82&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$29.75&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2015, we began issuing restricted stock units to certain employees and non-employee Directors under the 2014 Plan with vesting periods ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM1Mzc_8eee0c28-5471-4cde-b3a5-86abeeb1b29b"&gt;one&lt;/span&gt; to four years from the grant date. In 2020, we began issuing restricted stock units to certain employees and non-employee Directors under the 2020 Plan with vesting periods ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTQzMjU_2fa0f6e2-9267-4bc0-b4a7-1cbd6cb9c397"&gt;one&lt;/span&gt; to four years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows a summary of restricted stock unit activity:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Restricted Stock Units Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,068)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,255)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(52,080)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Employee&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;stock&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;purchase&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2013, our stockholders approved the 2013 Employee Stock Purchase Plan (the &#x201c;2013 Plan&#x201d;) to replace the 1994 prior purchase plan. A total of 100,000 shares of common stock were provided for issuance under the 2013 Plan. The 2013 Plan permits eligible employees to purchase common stock through payroll deductions at a price equal to the lower of 85 percent of the fair market value of our common stock at the beginning or end of the offering period. Employees may end their participation at any time during the offering period, and participation ends automatically upon termination of employment with us. During 2021 and 2020, employees purchased 22,000 and 26,632 shares, respectively. At December&#160;31, 2021, 28,523 shares remained available for purchase under the 2013 Plan.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjcxNjc_baa4f697-7e58-415b-9451-470d43afe2f8"
      unitRef="shares">1193185</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjcyMjE_cea686d2-ce74-43d1-b27f-a8b20833789d"
      unitRef="usdPerShare">3.52</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i799339feb3544dceb3651c859ca2431e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjczNDY_7b626d6e-5bf4-4707-b467-6688e2093f1a"
      unitRef="shares">85228</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i799339feb3544dceb3651c859ca2431e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjczOTc_2d71b3df-37fa-4978-b84a-ebd6432c4a97"
      unitRef="usdPerShare">0.0001</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE2NTc_b82f1fb9-3145-43d8-9ef9-8ff870abd8ab"
      unitRef="shares">1278413</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njc1NDM_6851d904-8bb0-4567-8bd7-72dd6b4304b9"
      unitRef="usdPerShare">3.52</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:PaymentsForPlacementAgentCommissions
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njc1OTA_8114b4f1-285e-4065-a08a-ec51daf12dd3"
      unitRef="usd">360000</efoi:PaymentsForPlacementAgentCommissions>
    <efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njc1OTk_a6b6a2af-3e88-4910-9ae7-0fcfd669728a"
      unitRef="usd">42000</efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement>
    <efoi:PaymentsForClearingFees
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njk0MjU_c574e493-7117-4102-931f-df42665d2ecf"
      unitRef="usd">97000</efoi:PaymentsForClearingFees>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njc3NjI_c21246fc-3f50-46ed-a540-61fd70e960ab"
      unitRef="usd">499000</us-gaap:PaymentsOfStockIssuanceCosts>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="i02aa770f7a5b482f905b0f0fa9439780_D20211201-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njk2NjA_5b255d64-a49f-4a66-91f1-a48cb699a2f1"
      unitRef="usd">4000000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="iaf95a417971c4d3c9fcaf6869f7c9de2_D20211216-20211216"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE5MTY_a75b4a55-3293-4919-b68e-aac7b5940e10"
      unitRef="shares">85228</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjgxMDI_ef83c784-d95b-49cc-9e67-7ce23652cbf6"
      unitRef="shares">1363641</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ic249ccc056a54e059981014f4c4ecdf6_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjgxODE_e708ccf9-f71b-463a-9a49-138c70034f8e"
      unitRef="usdPerShare">3.30</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:EstimatedProceedsFromIssuanceOfWarrants
      contextRef="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg0MDU_2cddc023-f88a-4616-b05f-d556d88a6255"
      unitRef="usd">4500000</efoi:EstimatedProceedsFromIssuanceOfWarrants>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzMzY_f3bcc9de-9fc1-4c3f-99b8-e4af332422c0">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, we had the following outstanding December 2021 Warrants to purchase shares of common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.859%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.763%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="6" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Underlying Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Expiration&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,278,413&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.5200&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;December 16, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pre-Funded Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,228&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$0.0001&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;None&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,363,641&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021 and 2020, we had the following outstanding January 2020 Warrants to purchase shares of common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.379%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.736%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.548%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;As of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Underlying Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Expiration&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Investor Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,734&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;425,626&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.3700&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 13, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Placement Agent Warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,680&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,680&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$4.9940&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;January 13, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;229,414&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;467,306&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="ib457b7bb5a51461d809fe2b17feafe57_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzItMS0xLTEtMzc4NjY_e5a5c75b-11c5-4ee2-ba45-06900b7f0887"
      unitRef="shares">1278413</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i7b7959442e0044c7bf32dc7c77a11824_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzItNS0xLTEtMzc4NjY_a433f2cd-5b50-4da1-a9c4-8a18448fa0cc"
      unitRef="usdPerShare">3.5200</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="ib10c54b935054c1887fe2263e2811bef_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzMtMS0xLTEtMzc4NjY_1ab1a6ca-770f-4f31-b6ad-819847ff607e"
      unitRef="shares">85228</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i799339feb3544dceb3651c859ca2431e_I20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzMtNS0xLTEtMzc4NjY_1d6bd4e9-fa35-4e7b-bdd0-58256c534c6f"
      unitRef="usdPerShare">0.0001</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="ib1360804400a46b29e810150f3ae74b2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplN2ViMGQ1NTVkODU0YjQ2YjQ3NjAyZDNmM2UyOTMzNy90YWJsZXJhbmdlOmU3ZWIwZDU1NWQ4NTRiNDZiNDc2MDJkM2YzZTI5MzM3XzQtMS0xLTEtMzc4NjY_021796bb-2690-493b-9a1a-5f0abfcc6853"
      unitRef="shares">1363641</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA0MDg_3a1ba930-9bc3-43bb-8bd5-21a834b125f8"
      unitRef="shares">990100</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i4ac6002703434a738c92731a1f8c20a4_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA0OTg_621ba086-afd0-4f80-90ff-2d0b67e36a79"
      unitRef="usdPerShare">5.05</us-gaap:SaleOfStockPricePerShare>
    <efoi:PaymentsForPlacementAgentCommissions
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA1OTA_8fffb541-a203-48d1-a5d5-af4c950be948"
      unitRef="usd">400000</efoi:PaymentsForPlacementAgentCommissions>
    <efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA2MDA_506f28cb-c034-4745-9c2b-e2e28d68dd6e"
      unitRef="usd">51000</efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement>
    <efoi:PaymentsForClearingFees
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA3MDc_6024cff1-398e-4627-b02a-a43b407d9866"
      unitRef="usd">19000</efoi:PaymentsForClearingFees>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i9eb363c6d5c64b9cab13bd8c2ac85bb5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjUzMTc_220bc068-eeb6-44d1-aad6-cc14590271d0"
      unitRef="usd">470000</us-gaap:PaymentsOfStockIssuanceCosts>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="i44cef850c2c6485eb3b0d89ed56d1a7a_D20210601-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjA5OTI_cd15d5d4-e868-4efe-9155-05ecad1bd9e3"
      unitRef="usd">4500000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock
      contextRef="i6b533f191bba46238f4755579bff014b_D20200116-20200116"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5Nzc_66f37685-1d01-4999-b173-39049b25b8ea"
      unitRef="usd">1800000</efoi:NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5ODE_1037fc0d-ecdc-4514-844b-29f61393a5c4"
      unitRef="usdPerShare">0.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i6b533f191bba46238f4755579bff014b_D20200116-20200116"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5ODU_a77d1017-fe13-42a5-87e0-768bcbef4932"
      unitRef="shares">2709018</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i5f579cbb1c984446a8eb1c108e231de1_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5ODk_4d1c807e-3761-4074-a007-456cd2837578"
      unitRef="shares">111548</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i1ce2ebfacfc44de5aa6097399cebb658_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjM5OTU_a22a3674-f303-425f-84c8-66c97d0ddeae"
      unitRef="shares">22310</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="iaa5b42f29fe84c538a08e2001f41f572_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0Njc4Mjk_f10c6980-9a19-4794-91f4-7dad60f80ce2"
      unitRef="shares">1721023</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="i059252fc965140ddb0415c20605988f6_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0Njc4MzM_67ee8d08-a64c-4e3b-ada8-9660f3613519"
      unitRef="shares">344205</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion
      contextRef="if45ec14e9ce748d5b1610444fdeb4d51_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzc2OTY1ODE0Mzg0NDg_9a207d40-be32-4e11-b9e8-c25dc0643eb5"
      unitRef="shares">184851</us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion>
    <us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion
      contextRef="ice689795aade4dbcb35b5c7de8b74255_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzc2OTY1ODE0Mzg0NTc_6e278c56-ba5c-4ee9-9a20-6f74d2eb4809"
      unitRef="shares">159354</us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i0d6ab6cb7de94ed9a7277e48db2a6d3f_I20190329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjQwMDM_55dabd02-edff-4133-acf3-01e6c11e370e"
      unitRef="shares">2000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i0d6ab6cb7de94ed9a7277e48db2a6d3f_I20190329"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzc2OTY1ODE0Mzg0NjY_3d2be894-899d-409a-9113-db6043499fb9"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i039b65941c61462bb4170186675a9752_I20200115"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNDg_d2fb8f1b-45d9-4554-ab62-798371e0c339"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ie67bfb806db345368ab13b6a42410e59_I20200115"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjQwMDc_ed0c6d62-7bee-4f69-8997-b31c7d261b44"
      unitRef="shares">3300000</us-gaap:PreferredStockSharesAuthorized>
    <efoi:PercentageOfSeriesAPreferredStockEligibleToVote
      contextRef="i8da533426d38478db66b1164a4ea4e2d_D20200116-20200116"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNDA_6e9b6097-a41f-4ab7-babb-ee1924e06a3b"
      unitRef="number">0.1107</efoi:PercentageOfSeriesAPreferredStockEligibleToVote>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i347725a8decd4d1faca9cdf4f24912dc_I20200116"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NjQwMTE_1037fc0d-ecdc-4514-844b-29f61393a5c4"
      unitRef="usdPerShare">0.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3Mzg_74458553-a1cc-466f-b886-9ddfba0580af"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3Mzg_7762a891-96c7-4781-af14-09f7bacecebe"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3NDI_74458553-a1cc-466f-b886-9ddfba0580af"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3NDI_7762a891-96c7-4781-af14-09f7bacecebe"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE2NDkyNjc0NzE3NDY_6413abbc-6581-48f7-b400-f9da90f93a79"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzUyNDI_96944119-2c05-4829-8a92-a769b36bd98e"
      unitRef="shares">688360</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjUzMDk_c8b17138-b864-41e9-85f5-6fe3911175d1"
      unitRef="usdPerShare">3.37</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzU0MjM_96944119-2c05-4829-8a92-a769b36bd98e"
      unitRef="shares">688360</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE5MDc_6437e49a-95e9-4683-9cf4-fedb35f36bb2"
      unitRef="usdPerShare">3.37</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare
      contextRef="i0bc7e1aeb5a14658bf73734e7e6794b3_D20200101-20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzU1NDQ_aba8fbf7-7a0a-4c6c-b13f-5c557ee681d0"
      unitRef="usdPerShare">0.625</efoi:ClassOfWarrantOrRightWarrantsIssuedPricePerShare>
    <efoi:PaymentsForPlacementAgentCommissions
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNzU_8df80295-51d6-4dd3-9e70-5b0a9544bb20"
      unitRef="usd">193000</efoi:PaymentsForPlacementAgentCommissions>
    <efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzOTA_b3ba0418-736f-49df-9d17-167aa9bf4b42"
      unitRef="usd">50000</efoi:PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement>
    <efoi:PaymentsForClearingFees
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM0MDQ_45f1c2b3-3260-49f5-b0c6-0f42dbb860c5"
      unitRef="usd">231000</efoi:PaymentsForClearingFees>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE4OTk_4e14594e-4687-47bf-90b2-7e06285eb593"
      unitRef="usd">510000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NzE4OTk_b45f45f8-3562-4911-aef0-5f8729a2f25e"
      unitRef="usd">510000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i51fd134972bb49a29fb470ad962be792_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYwNzA_de9561d7-bb91-484e-9d9a-fb8b4a5fdd07"
      unitRef="shares">48185</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i51fd134972bb49a29fb470ad962be792_I20200131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYxMjA_e4c6e965-96c9-4d57-a254-3148b7b1eadc"
      unitRef="usdPerShare">4.99</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYyMTU_87c1ae1e-c91f-4df2-9002-0403fbab0714"
      unitRef="usd">2300000</efoi:ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts>
    <efoi:DebtInstrumentProceedsToBePaidToLenderPercent
      contextRef="ie16f6e9c23a64c85a13cf785e1723ae8_D20191125-20191125"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYyNjc_f9de09ba-25df-44e8-9c24-a9d07de31b7f"
      unitRef="number">0.10</efoi:DebtInstrumentProceedsToBePaidToLenderPercent>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="icbe320d7eda142b58a0db5a46190ab6f_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYzMzE_2b7cd007-41a8-4a09-ae2c-e38356233bf3"
      unitRef="usd">275000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i22379ce6d882415580b9a3b1a8bb4ca4_D20200101-20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzYzOTA_e500e83b-5448-467a-99d5-5ef53d762875"
      unitRef="usd">226000</us-gaap:RepaymentsOfNotesPayable>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i22825782b9084bab96299f33f2d30063_D20211001-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg3OTQ_298e9941-1f77-4800-b51c-42f608ea5895"
      unitRef="shares">229414</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i8628db2e2b61425aaaf641132a92d948_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg4NzM_9bd61e30-6215-40de-95ea-74aa11f5c2ce"
      unitRef="usdPerShare">3.67</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg5MjQ_9f314766-7ef8-4a65-9d08-28ee5794f84e"
      unitRef="shares">237892</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njg5ODM_b36444bc-b13a-43af-ae97-33d1de77e8c5"
      unitRef="usd">801000</us-gaap:ProceedsFromWarrantExercises>
    <efoi:EstimatedProceedsFromIssuanceOfWarrants
      contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkwODQ_d0da7db5-3f16-44e1-9731-42b4acb51a5f"
      unitRef="usd">841000</efoi:EstimatedProceedsFromIssuanceOfWarrants>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkxNTE_99f41283-bbc7-4bfc-b9c5-5bf0a86eaa43"
      unitRef="shares">467306</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i6d86f65a6e1049119ca2876d0ea6c6ad_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNTk_9a25ff87-d323-43d3-a588-59dae2dd1e9e"
      unitRef="usdPerShare">3.51</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTMzNjY_396eb4d0-5817-4ae3-ab70-ee7ce7b708db"
      unitRef="shares">269240</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkzNDE_9b8fa5d9-bc02-42c3-b627-6a959530c91e"
      unitRef="usd">918000</us-gaap:ProceedsFromWarrantExercises>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i9eb363c6d5c64b9cab13bd8c2ac85bb5_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzEtMS0xLTEtMA_e6638e1a-23ca-4390-b62a-d1ec87dfcc67"
      unitRef="shares">187734</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i0b61d3a9fe984b6a9d1b2ff8efa7f893_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzItMy0xLTEtMjU2MDY_a58370fd-df0f-4722-9497-eeab368a9cd2"
      unitRef="shares">425626</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i3169c47cfb674c598921b21ae201beb2_I20200131"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzEtMy0xLTEtMA_c8b17138-b864-41e9-85f5-6fe3911175d1"
      unitRef="usdPerShare">3.3700</us-gaap:SaleOfStockPricePerShare>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i149c27d4dc1e4b969f84c426a927615e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzItMS0xLTEtMA_96cc6629-c362-4517-b2d2-70fcbab21ae8"
      unitRef="shares">41680</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i71cce42cc1484ca4b4f4cd609827ebd4_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzMtMy0xLTEtMjU2MDY_19339e31-9782-4819-98e5-a4444e20539f"
      unitRef="shares">41680</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i51fd134972bb49a29fb470ad962be792_I20200131"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzItMy0xLTEtMA_2ecc828a-5637-495e-afe3-1b70f2fdf433"
      unitRef="usdPerShare">4.9940</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i3f37ad3344334f97b2effbe2df3af3f5_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzMtMS0xLTEtMA_20877285-37f4-4e50-881d-ca61a1325ebc"
      unitRef="shares">229414</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <efoi:ClassOfWarrantOrRightWarrantsIssued
      contextRef="i65c6f7cfb599412c8718f8b1b9500a3b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo5MzJlNjUxNGUwYTM0NTU3YWY3NGY0OTFiYzYwMmM2NS90YWJsZXJhbmdlOjkzMmU2NTE0ZTBhMzQ1NTdhZjc0ZjQ5MWJjNjAyYzY1XzQtMy0xLTEtMjU2MDY_99f41283-bbc7-4bfc-b9c5-5bf0a86eaa43"
      unitRef="shares">467306</efoi:ClassOfWarrantOrRightWarrantsIssued>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i65b971ea9cb44fb1888185cc19c4389b_I20200318"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzkwMDU_e5bf26aa-5eac-44c8-bc6b-25246b245730"
      unitRef="shares">350000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i387ac9a58bdc4026beffdfb1ef037acc_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzkwNzM_c022946c-6d55-48ca-bc2d-338a7dfefd3e"
      unitRef="shares">208256</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i7bacc12348f04b6b82d1e7cf2cc8522a_I20140506"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzk0NTE_18d869fd-ec29-42af-a88f-cc065600951c"
      unitRef="shares">120000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="ie730505241d0471ab9e4023d57877882_I20150722"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzk2NjQ_8541b39f-3b09-443c-ac4f-4def03785d2d"
      unitRef="shares">120000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i07c496a5a92a442992762b34c8bacd5a_I20170621"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzk4MzI_f60cd2bb-41a5-4453-a7aa-2157546d57f0"
      unitRef="shares">260000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTEw_cb894016-ffb9-46f7-b830-e8963675d100">P10Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ia925f79fe3284c5f925333ca8b9f3106_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMTc0_ea42d01d-3a85-4387-a75b-4c526a9cd79a">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="iac0e4d7075a24ca4b7b32fc505ef4218_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwMjM1_90eabfb8-10c2-461f-b434-8cdd15cc5c45">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTgx_c5577462-efcf-4835-8ec7-924ee5043bb5">&lt;div style="margin-bottom:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes stock-based compensation expense and the impact it had on operations for the periods presented (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Product development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general, and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;429&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;131&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7530d5d0a4b940f8a3fee319d6c0119c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzItMS0xLTEtMA_bfe3a62f-09fa-4d19-bb1c-548856d08964"
      unitRef="usd">9000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i46e851f19f78458995019a8807d5fab2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzItMy0xLTEtMA_7599394a-0dd3-48d1-8ca1-c50b345b501b"
      unitRef="usd">2000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i28e104dced94438ca18c6fb5046f60d6_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzMtMS0xLTEtMA_25ebf82e-e646-46b3-a970-8d760e9f8438"
      unitRef="usd">14000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0b262df8d9b345bb978f20a584580126_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzMtMy0xLTEtMA_ca4b9cf8-9312-4c65-aa6f-679d4179a8d2"
      unitRef="usd">10000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iebf94b633dc7494fb3a642b04e637101_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzQtMS0xLTEtMA_6a9ab53d-74d6-402c-83bd-4d0ccc946674"
      unitRef="usd">406000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0c87840ee3e94c09a9151682c9375c17_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzQtMy0xLTEtMA_f0a65ebe-48cd-464c-ac8f-d7f6146fb9d6"
      unitRef="usd">119000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzUtMS0xLTEtMA_72dab8d0-40e2-48c7-812b-059485b2a9d2"
      unitRef="usd">429000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo2ODMyNDBkNmFhMDE0YjExYTA1NzU2ZGI5NjYwMjQ1NS90YWJsZXJhbmdlOjY4MzI0MGQ2YWEwMTRiMTFhMDU3NTZkYjk2NjAyNDU1XzUtMy0xLTEtMA_a65e94d0-4e62-482d-8772-e4ad26bdafd2"
      unitRef="usd">131000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwNzM0_be730af4-eeb0-4934-8732-ea82ef3e5831"
      unitRef="usd">300000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwNzQx_93721402-f5c4-47b7-8bbb-6ba2a210a521"
      unitRef="usd">200000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTgx_e1fc8bb4-9884-47d5-83e5-546c4d039228">P2Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM0MzQ_43ee7cfe-bfa5-4a00-b75b-f3823166699a">P3Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTgy_7f5e8c7a-348e-4f0e-936b-1e573fa94a48">Estimates utilized in the calculation include the expected life of the option, risk-free interest rate, and expected volatility, and are further comparatively detailed as follows:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of options issued&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercise price&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.07&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected life of option (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzEtMS0xLTEtMA_e0095a4d-074a-4abc-a0e7-18a458418438"
      unitRef="usdPerShare">3.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzEtMy0xLTEtMA_92f6efbf-151b-41f9-8c13-a24dba51c821"
      unitRef="usdPerShare">2.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice
      contextRef="i33ae864acc864d8381b7945d803c40b2_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzItMS0xLTEtMA_e1bfe0a5-e68c-4db6-b626-0b394f457ed1"
      unitRef="usdPerShare">5.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice
      contextRef="i361a0747e00b4bdca00c2cd4f646d038_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzItMy0xLTEtMA_68b397f6-2b81-4600-a6b9-5b150d5d05d1"
      unitRef="usdPerShare">2.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzMtMS0xLTEtMA_b52d9204-2ad7-43e8-bbb9-06c951a7d60b">P6Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzMtMy0xLTEtMA_f4ef22df-bdac-4a59-92aa-a43e9c158184">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzQtMS0xLTEtMA_a62eb377-dad0-4843-85ce-279ba85a6a43"
      unitRef="number">0.009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzQtMy0xLTEtMA_695a9b99-425d-4e72-b4a3-54d64bded571"
      unitRef="number">0.007</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzUtMS0xLTEtMA_5398997c-1f43-462c-b940-98a70eff1346"
      unitRef="number">0.963</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzUtMy0xLTEtMA_bd7283d5-046a-4993-a0a1-d1fce902889c"
      unitRef="number">0.936</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzYtMS0xLTEtMA_5f4b801d-7d34-4632-a7c4-61e1d834fceb"
      unitRef="number">0.0000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ibe9455c684ff45bd83340c787d2848d6_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTowZDdmNmQ0YjA0ZjA0M2JkYmVmNDk5OTIzM2E1NTc2Zi90YWJsZXJhbmdlOjBkN2Y2ZDRiMDRmMDQzYmRiZWY0OTk5MjMzYTU1NzZmXzYtMy0xLTEtMA_c2f82bf2-791f-4586-82d9-c2b4dd0cfd7b"
      unitRef="number">0.0000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i3306e536994743e4b413b7eb48ec9a95_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDQz_54685b1c-da49-4420-a3ac-9dab6f8d552d">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i58c0cbc5622644c099d0a66e73a0c7cb_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzMDgy_dde1628d-8376-4e05-8869-65c3304357b8">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE1MDA3_fec5386d-f610-43ac-907c-f87e288ab751">A summary of option activity under all plans was as follows:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.228%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.230%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of&lt;br/&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise Price&lt;br/&gt;Per Share&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,774)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.56&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,157)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,450&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.07&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,706)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,650)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,225)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Outstanding at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:5pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested and expected to vest at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMwLTEtMS0xLTA_6963d47b-063b-491c-93bf-24315775d6e8"
      unitRef="shares">155031</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i3294dbcf1a9747dba52da6a9462883b6_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMwLTMtMS0xLTA_8fa087d5-01e4-48af-aab4-8df28db69d13"
      unitRef="usdPerShare">5.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMxLTEtMS0xLTA_7d1cb1c4-5676-4664-9077-7280511f8d78"
      unitRef="shares">112350</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMxLTMtMS0xLTA_154827a1-d567-4f3c-aa3e-2d0d102fa161"
      unitRef="usdPerShare">2.68</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMyLTEtMS0xLTA_82fb3bd8-959d-4808-9f56-73986bedf2fe"
      unitRef="shares">33774</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzMyLTMtMS0xLTA_14043e9e-dc45-4d5d-b2c6-a0d11ddc6358"
      unitRef="usdPerShare">9.56</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM0LTEtMS0xLTA_d213dc3b-fb37-4333-8c3d-061de1a1fef9"
      unitRef="shares">12157</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM0LTMtMS0xLTA_b2359492-05b2-4a2b-b3f1-5182f49ed15c"
      unitRef="usdPerShare">2.11</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM1LTEtMS0xLTA_f9476f13-90d8-4a2f-927f-82d88ba7e4ca"
      unitRef="shares">221450</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM1LTMtMS0xLTA_4e21a3c1-f4b8-4f82-81ea-373343904a35"
      unitRef="usdPerShare">3.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM2LTEtMS0xLTM2MzQx_c24af7bf-0137-4265-8dc1-a8211efe5c5f"
      unitRef="shares">88240</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM2LTMtMS0xLTM2MzUx_1eba84ec-bddf-4211-b0b4-cdc93a3b0843"
      unitRef="usdPerShare">5.07</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM3LTEtMS0xLTM2MzQx_af52a9b1-74a2-438d-8198-2f1a26dd2461"
      unitRef="shares">36706</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM3LTMtMS0xLTM2MzUx_33e100db-8f82-48c6-acd1-6a2fbedfe432"
      unitRef="usdPerShare">5.35</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM4LTEtMS0xLTM2MzQx_62b0f448-ce9a-4f6c-883e-ccdf4b9ceb48"
      unitRef="shares">1650</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM4LTMtMS0xLTM2MzUx_030006d8-78e9-40d5-931d-f1d158d47b3b"
      unitRef="usdPerShare">49.18</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM5LTEtMS0xLTM2MzQx_5157bfe8-9843-410f-8a80-7b30df504786"
      unitRef="shares">4225</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM5LTMtMS0xLTM2MzUx_33a88300-0610-4105-8881-2e74b95af5f4"
      unitRef="usdPerShare">1.96</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzQwLTEtMS0xLTM2MzQx_e2ea6c79-4991-49f9-bdba-319bd0775bbb"
      unitRef="shares">267109</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzQwLTMtMS0xLTM2MzUx_c8bd115c-50c3-440d-a362-8760c1008f91"
      unitRef="usdPerShare">3.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM3LTEtMS0xLTA_daa50540-f616-4fba-83aa-bf9e9c9aaeaa"
      unitRef="shares">231462</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM3LTMtMS0xLTA_8bae0258-8214-4637-9947-a801099abc0f"
      unitRef="usdPerShare">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM5LTEtMS0xLTA_6bc8c2ed-13b7-409a-9906-7d3c50a3e7a4"
      unitRef="shares">92121</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTo1OWI3ZmM0ZGU5ZTQ0NDFmYjg4ZDBlZGI4MjY0ZDNiNC90YWJsZXJhbmdlOjU5YjdmYzRkZTllNDQ0MWZiODhkMGVkYjgyNjRkM2I0XzM5LTMtMS0xLTA_ebf59b80-3920-4784-8aa8-657b1cf62906"
      unitRef="usdPerShare">3.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkzODk_8943846e-c5ff-4a0b-8727-806024fdb6c5"
      unitRef="shares">4225</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2NjkzOTc_12d0b58e-71f0-4899-9320-352fd3b22856"
      unitRef="shares">12157</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzNDY3_76b3fdf3-7ff3-4166-a898-98245d1a1294"
      unitRef="usd">426000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzNDc0_1ab21662-c775-40e6-89f9-4f4f62958ee7"
      unitRef="usd">191000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:SharePrice
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEzNTY5_66c3dc87-4f45-4736-b6f5-3e68e9536bb8"
      unitRef="usdPerShare">4.27</us-gaap:SharePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTkx_7a4f8a24-9bf8-43bc-8677-28ec70a35230">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The options outstanding at December&#160;31, 2021 have been segregated into ranges for additional disclosure as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.095%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:2.424%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.801%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.234%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.975%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;OPTIONS OUTSTANDING&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;OPTIONS EXERCISABLE&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Range of&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Exercise Prices&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of Shares Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Number of Shares Exercisable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted Average Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1.45&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1.68&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,377&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$1.69&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$2.20&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,975&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$2.21&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.42&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.43&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.81&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;319&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.52&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.82&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$29.75&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,121&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMC0xLTEtMA_2986c29b-369a-48b4-8084-8385127de9a8"
      unitRef="usdPerShare">1.45</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMi0xLTEtMA_f2d5cc92-10ad-4863-8884-f6a9b7284408"
      unitRef="usdPerShare">1.68</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="ic57470dbd9284ff19748ce19ff94496c_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItNC0xLTEtMA_b3fe376d-17e6-4798-a2f8-f4e66bc98d62"
      unitRef="shares">69377</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItNi0xLTEtMA_96fe3ff6-a716-4692-ac20-7341ab11c4c5">P8Y2M12D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="ic57470dbd9284ff19748ce19ff94496c_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItOC0xLTEtMA_127176dc-4fe0-43ac-a377-bb883812e5e9"
      unitRef="usdPerShare">1.49</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="ic57470dbd9284ff19748ce19ff94496c_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMTAtMS0xLTA_f14d736c-2a71-410f-86af-739e63efb171"
      unitRef="shares">27078</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="ib600d109c45a4ddd9657de89bc7fb5ef_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMTItMS0xLTA_c589a57d-a7e8-4ba6-a4dd-dcff7cfbf436">P8Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="ic57470dbd9284ff19748ce19ff94496c_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzItMTQtMS0xLTA_acea0d9b-7a18-456d-bd1b-8e5fb94d5aa7"
      unitRef="usdPerShare">1.49</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMC0xLTEtMA_cb8444f7-b50c-44dc-a0ee-3dbadec1ed71"
      unitRef="usdPerShare">1.69</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMi0xLTEtMA_e7b99828-032b-43e0-a367-0f7f561e5f0b"
      unitRef="usdPerShare">2.20</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="i3a34278eca8f4d409ee893f500388134_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtNC0xLTEtMA_3f0e495f-8717-441c-a5eb-6c65acbb2838"
      unitRef="shares">79975</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtNi0xLTEtMA_4a42cf0e-bb7e-4263-9923-2e07659b1090">P7Y6M</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="i3a34278eca8f4d409ee893f500388134_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtOC0xLTEtMA_2e07d658-b3c6-4a98-a875-6451ec3e1587"
      unitRef="usdPerShare">2.10</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="i3a34278eca8f4d409ee893f500388134_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMTAtMS0xLTA_ca878f09-caf6-4c71-90a5-1cf791edd63a"
      unitRef="shares">43900</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="ib99c04b33f3e475eb36cd52c612ddd5c_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMTItMS0xLTA_4435650c-64bc-4fe3-bae5-3399ecacaa82">P7Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="i3a34278eca8f4d409ee893f500388134_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzMtMTQtMS0xLTA_dab9834b-6e6e-4e68-b8f0-1cdf40646a52"
      unitRef="usdPerShare">2.10</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="i593f0909b228451192e79880916a76ca_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMC0xLTEtMA_d6fc0d4c-0c64-4760-a233-72463f17fb8a"
      unitRef="usdPerShare">2.21</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="i593f0909b228451192e79880916a76ca_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMi0xLTEtMA_eae28bca-a36f-4cc2-ab49-5a332f27809f"
      unitRef="usdPerShare">5.42</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtNC0xLTEtMA_b4f372ef-fcf0-457e-b5d4-c0829fe66da0"
      unitRef="shares">38406</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="i593f0909b228451192e79880916a76ca_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtNi0xLTEtMA_f8066f1d-a2ee-4d4a-a342-00da3b2c783c">P8Y7M6D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtOC0xLTEtMA_53440148-f07d-4f17-9c21-c2f3aa23aeb1"
      unitRef="usdPerShare">2.77</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMTAtMS0xLTA_837c8f97-bef7-4c96-afeb-cfa1bb30272d"
      unitRef="shares">11046</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i593f0909b228451192e79880916a76ca_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMTItMS0xLTA_01bdd421-3b29-450e-b89a-4ea6b2b7f6be">P7Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="i19e8f3eaf69a432a93741e2b5bb55fc7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzQtMTQtMS0xLTA_3c8e478f-9e05-47b0-8808-e289ab42bbd9"
      unitRef="usdPerShare">2.46</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMC0xLTEtMA_b57cfc1c-b927-4cbe-945c-2c8e225fef80"
      unitRef="usdPerShare">5.43</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMi0xLTEtMA_dcbe6bcc-6437-484b-bab8-25491be3883e"
      unitRef="usdPerShare">5.81</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="ifc072047745247858635e57c5e101cbb_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtNC0xLTEtMA_ee5c0d6a-f68a-4954-aedb-9dc5d419f93f"
      unitRef="shares">58474</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtNi0xLTEtMA_90a36543-7b0d-42b3-a0fa-8f944a6ef341">P9Y1M6D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="ifc072047745247858635e57c5e101cbb_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtOC0xLTEtMA_fa33cdf4-f209-4197-b7ba-8a71515fafc4"
      unitRef="usdPerShare">5.55</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="ifc072047745247858635e57c5e101cbb_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMTAtMS0xLTA_7a03f596-d563-4a4c-bcc4-4309974e6a31"
      unitRef="shares">319</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="ie02d56509d6647e19f15eb0fc4a400c7_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMTItMS0xLTA_5e0e6f61-294e-4bee-adaf-1f643236e4ba">P7Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="ifc072047745247858635e57c5e101cbb_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzUtMTQtMS0xLTA_aa3fd551-a982-4803-8040-56e953981789"
      unitRef="usdPerShare">5.52</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMC0xLTEtMA_7d1b59b8-bcbf-44cc-b73c-dd5dd5731eb9"
      unitRef="usdPerShare">5.82</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMi0xLTEtMA_f1721896-382f-4103-aaa2-b18ebff7c298"
      unitRef="usdPerShare">29.75</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="i8574cf31460f42c09befbf3d94ba95f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtNC0xLTEtMA_693c0962-5b9f-46de-a1f5-b6419bdee9cc"
      unitRef="shares">20877</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtNi0xLTEtMA_060822ae-0fb0-480a-bcdc-708ecc70ed36">P7Y6M</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="i8574cf31460f42c09befbf3d94ba95f7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtOC0xLTEtMA_a1565dfa-bb4a-4adf-8e30-f9cd2063c612"
      unitRef="usdPerShare">10.69</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="i8574cf31460f42c09befbf3d94ba95f7_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMTAtMS0xLTA_af8c76e0-06e0-4667-8599-09cf88a37d6a"
      unitRef="shares">9778</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="ic57b4981afea4c498675d5cd2301f4dc_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMTItMS0xLTA_2ce5f1fd-012c-42bc-abfd-6ac8cdf67f3c">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="i8574cf31460f42c09befbf3d94ba95f7_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzYtMTQtMS0xLTA_f33bd242-5cb7-41df-8500-90362410c3d0"
      unitRef="usdPerShare">14.40</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctNC0xLTEtMA_5b85a11f-bb35-4ee2-a5e2-bb6b6966c5e0"
      unitRef="shares">267109</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctNi0xLTEtMA_67be934a-841a-4ea5-b00f-7caae2c1988a">P8Y2M12D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctOC0xLTEtMA_1acd4e90-caaa-4054-aac8-5d15923aba4f"
      unitRef="usdPerShare">3.46</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctMTAtMS0xLTA_24837059-519e-4399-8097-a684f7a0363a"
      unitRef="shares">92121</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctMTItMS0xLTA_4c6fb1c3-1c6d-4139-ba1d-70fc028be57d">P7Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplZGE5ZjI0MmZhZmQ0NTFiODYzY2Q2NjM3MDkxMmQzYy90YWJsZXJhbmdlOmVkYTlmMjQyZmFmZDQ1MWI4NjNjZDY2MzcwOTEyZDNjXzctMTQtMS0xLTA_edddec85-c0f4-41b7-bf20-12dd7c85d9df"
      unitRef="usdPerShare">3.28</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i4ff91b791919436d91bf7fecc7a86b8a_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTM1NTA_720b99b9-4e8a-4bb9-92e2-8351ab958b64">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="iec1f52178f0f4af09a01c9fc1a1d457d_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzI3NDg3NzkxMTQzMzg_fe09b97f-746d-444a-9dd9-a89188025e06">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTc5_bfbb066c-db34-4dea-9a9f-696f0e859cf1">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows a summary of restricted stock unit activity:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Restricted Stock Units Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(20,068)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,255)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,480&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.64&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(52,080)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.46&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i683a1c383f14479db04e359bb44dc770_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzEzLTMtMS0xLTA_3b1ca5b2-3d7a-467f-a54c-60a26bed74c0"
      unitRef="shares">6603</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i683a1c383f14479db04e359bb44dc770_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzEzLTUtMS0xLTA_13c2b540-9966-4741-8f40-c025cafe19f4"
      unitRef="usdPerShare">13.17</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE0LTMtMS0xLTA_ff35522d-c22c-4240-a203-2b84795a5463"
      unitRef="shares">19200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE0LTUtMS0xLTA_b7d3a2bf-4dab-44d5-8611-473347602ce1"
      unitRef="usdPerShare">2.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE1LTMtMS0xLTA_20e7877d-1e52-4294-9c28-c8b37c714927"
      unitRef="shares">20068</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE1LTUtMS0xLTA_2a28dd4f-8bcf-4adf-9c7d-e5ae6a234e5f"
      unitRef="usdPerShare">3.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE2LTMtMS0xLTA_1ad7b3e7-defd-4bed-a9fc-cf3ee4494831"
      unitRef="shares">1255</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ibdc7adba4e054b6ea68fbbe76725ec40_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE2LTUtMS0xLTA_7e11ae85-c5d2-419b-925d-24f90430ebec"
      unitRef="usdPerShare">12.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i3db4a53ab94249ca8f416d280f4a7609_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE3LTMtMS0xLTA_c79f82ad-2801-4271-86fb-ff4043eacf04"
      unitRef="shares">4480</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i3db4a53ab94249ca8f416d280f4a7609_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE3LTUtMS0xLTA_9281268d-f3fd-4e16-bb77-df655e2e3d71"
      unitRef="usdPerShare">8.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE4LTMtMS0xLTM2NDY4_2a5b9e05-7ba6-4b17-8614-297bf1a5c847"
      unitRef="shares">50000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE4LTUtMS0xLTM2NDc1_59c68b89-d468-4dc6-b3aa-518aff7c29fd"
      unitRef="usdPerShare">5.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE5LTMtMS0xLTM2NDY4_0044e7a5-2365-48fa-8a1b-8200d4d6d48c"
      unitRef="shares">52080</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ib774e1fa27af4e8492a6d41ab6fdb329_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzE5LTUtMS0xLTM2NDc1_01ab37b1-16e3-46d2-9f8c-168dc4b1ecc2"
      unitRef="usdPerShare">5.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="i03d191cfe7f3499ea2b10ffec28cef54_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzIxLTMtMS0xLTM2NDY4_825bbdf2-08cb-4455-939a-2a15e8dae9a8"
      unitRef="shares">2400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i03d191cfe7f3499ea2b10ffec28cef54_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90YWJsZTplMzZhZTRlNDE0ZWE0YTE2OTc0ZmM0NTE1OWY1ZWYzMC90YWJsZXJhbmdlOmUzNmFlNGU0MTRlYTRhMTY5NzRmYzQ1MTU5ZjVlZjMwXzIxLTUtMS0xLTM2NDc1_7df01bca-8d48-4221-9a59-02a3b89354ca"
      unitRef="usdPerShare">7.14</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i7798c1a139c1494fa683aabbf81de26c_I20130930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0Mzg2_16bf9b34-16aa-48cf-8be0-10c390fe323d"
      unitRef="shares">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="id20d8b5e532d4b51a9331cef0c3ea1d0_D20130901-20130930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0NTg2_5368def4-638d-4a3f-a7f6-346918d5846e"
      unitRef="number">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i6f50781bec45435f94e2ce7929208a72_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njk0MTE_5df3fe5f-87e0-49d4-a1e7-3530375766e6"
      unitRef="shares">22000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i6c1fd4cb5b294dc4831cd60414588dd6_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzEwOTk1MTE2Njk0MDc_a20c0d18-dfc2-44c6-8ac0-6ec79fb415b0"
      unitRef="shares">26632</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="icd21d751952249369a1a2bdefc377188_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNjkvZnJhZzpiZWE5MDRmY2RjYWY0NTRiOTk2MmZhYTJkNjFhZjgwMi90ZXh0cmVnaW9uOmJlYTkwNGZjZGNhZjQ1NGI5OTYyZmFhMmQ2MWFmODAyXzE0OTE0_58e2a804-ba45-4a6a-b77a-d492e7f92c54"
      unitRef="shares">28523</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI5NjM_b823d84c-118f-4e37-80dc-cdb20d71e1ec">INCOME TAXESWe file income tax returns in the U.S. federal jurisdiction, as well as in various state and local jurisdictions. With few exceptions, we are no longer subject to U.S. federal, state, and local, or non-U.S. income tax examinations by tax authorities for years before 2018. Our practice is to recognize interest and penalties related to income tax matters in income tax expense when and if they become applicable. At December&#160;31, 2021 and 2020, respectively, there were no accrued interest and penalties related to uncertain tax positions.&#160;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows the components of the provision for income taxes (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;(Benefit from) provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The principal items accounting for the difference between income taxes computed at the U.S. statutory rate and the (benefit from) provision for income taxes reflected in our Consolidated Statements of Operations are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State taxes (net of federal tax benefit)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32.7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The tax effects of temporary differences that give rise to significant portions of the deferred tax assets are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued expenses and other reserves&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use-asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(73)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(225)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax credits, deferred R&amp;amp;D, and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,932)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,363)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2021, our effective tax rate was lower than the statutory rate due to an increase in the valuation allowance as a result of the $9.6 million additional federal net operating loss we recognized for the year. In 2020, our effective tax rate was lower than the statutory rate due to an increase in the valuation allowance of the $7.1 million additional federal net operating loss we recognized for the year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2021, we had net operating loss carry-forwards (&#x201c;NOLs&#x201d;) of approximately $125.4 million for federal income tax purposes ($77.2 million for state and local income tax purposes). However, due to changes in our capital structure, approximately $71.0 million of the $125.4 million is available to offset future taxable income after the application of the limitations found under Section 382 of the Internal Revenue Code of 1986, as amended. As a result of the Tax Cuts and Job Act of 2017 (the &#x201c;Tax Act&#x201d;), NOLs generated in tax years beginning after December 31, 2017 can only offset 80% of taxable income. These NOLs can no longer be carried back, but they can be carried forward indefinitely. The $9.6 million and $7.1 million in federal net operating losses generated in 2021 and 2020 will be subject to the new limitations under the Tax Act. If not utilized, the NOLs generated prior to December 31, 2017 of $37.5 million will begin to expire in 2023 for federal purposes and have begun to expire for state and local purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Since we believe it is more likely than not that the benefit from NOLs will not be realized, we have provided a full valuation allowance against our deferred tax assets at December 31, 2021 and 2020, respectively. We had no net deferred tax liabilities at December 31, 2021 or 2020, respectively. In 2020, we recognized various states tax benefits as a result of the adjustment from &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;the 2019 provision to the actual tax on the 2019 returns that were filed in 2019. In 2019, we recognized various states tax expense as a result of the adjustment from the 2018 provision to the actual tax on the 2018 returns that were filed in 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The CARES Act was enacted on March 27, 2020 and the Consolidated Appropriations Act (the &#x201c;Relief Act&#x201d;) was enacted on December 27, 2020 in the United States. The key provisions of the CARES Act and the Relief Act, as applicable to the Company, include the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ability to use NOLs to offset income without the 80% taxable income limitation enacted as part of the Tax Cuts and Jobs Act (&#x201c;TCJA&#x201d;) of 2017, and to carry back NOLs to offset prior year income for five years. These are temporary provisions that apply to NOLs incurred in 2018, 2019 or 2020 tax years. We did not recognize any tax benefit for the year ended December 31, 2021 related to our ability to carry back prior year losses, as well as projected current year losses, under the CARES Act to years with the previous 35% tax rate. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The ability to claim a current deduction for interest expense up to 50% of Adjusted Taxable Income (&#x201c;ATI&#x201d;) for tax years 2019 and 2020. This limitation was previously 30% of ATI pursuant to the Tax Act, and will revert to 30% after 2020. The Company has no current interest expense limitation. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition to the aforementioned provisions, the CARES Act also provided the following non-income tax provisions as applicable to the Company: &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The ability to defer the payment of the employer portion of social security taxes incurred between March 27, 2020 and December 31, 2020, with 50% of the deferred amount to be paid by December 31, 2021 and the remaining 50% to be paid by December 31, 2022. For the year ended December 31, 2021, the Company has deferred $77&#160;thousand of payroll taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The ability to claim an ERTC, which is a refundable payroll tax credit, subject to certain limitations. Refer to Note 13, &#x201c;Other Income&#x201d; for details.&lt;/span&gt;&lt;/div&gt;&#x2022;The Company received approximately $795&#160;thousand in PPP loans, which were forgiven in 2021. The CARES Act provides that the loan forgiveness is tax-exempt for federal purposes. Refer to Note 8, &#x201c;Debt&#x201d; for details.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzQ3OA_7407a6ec-3d19-4ee6-927a-74f69aa275b7"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzQ3OA_a8e3e2ea-f5bd-4ec0-ac81-b94430016fd1"
      unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI5NDE_139d951b-03a8-4cb7-99f6-86c1fbec60dd">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows the components of the provision for income taxes (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;(Benefit from) provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzQtMS0xLTEtMA_34155b17-9ef2-42c6-a87b-aae6038b4a4a"
      unitRef="usd">-1000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzQtMy0xLTEtMA_08ecf0f3-2105-49d5-a567-451e90130ea4"
      unitRef="usd">-5000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzctMS0xLTEtMA_d139c14e-74f8-4bac-95b0-d98c6d17b724"
      unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzctMy0xLTEtMA_2c0f705e-b6e0-49a0-a21d-70e96124e814"
      unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzEwLTEtMS0xLTA_2c7f6796-3d42-4e18-b38b-7650108af272"
      unitRef="usd">-1000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTozMWVjN2Y0Mzk0MWI0Y2JlOTY1Mzk4OTdhZDU2NTVmZS90YWJsZXJhbmdlOjMxZWM3ZjQzOTQxYjRjYmU5NjUzOTg5N2FkNTY1NWZlXzEwLTMtMS0xLTA_f6c6c6ee-874b-41e1-952f-08e603fd9ccd"
      unitRef="usd">-5000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI5NjU_2e8b2452-cc44-42f5-9464-8de9b2e840d1">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The principal items accounting for the difference between income taxes computed at the U.S. statutory rate and the (benefit from) provision for income taxes reflected in our Consolidated Statements of Operations are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State taxes (net of federal tax benefit)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32.7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzItMS0xLTEtMA_5ebb0628-ede3-4d69-b117-42b80408c951"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzItMy0xLTEtMA_edf52fe5-d154-4e1b-b0a3-30213ff9cbde"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzMtMS0xLTEtMA_d6cfaf6f-92b8-4a78-899b-617070cf5dba"
      unitRef="number">0.097</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzMtMy0xLTEtMA_ca1ca422-6dd0-47c5-81fa-b4ea3f8ef225"
      unitRef="number">0.056</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzQtMS0xLTEtMA_8d4bf8e6-0b8c-4ddc-8247-161913c5a0ac"
      unitRef="number">-0.327</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzQtMy0xLTEtMA_f753dc28-2d99-4ae1-a039-6bb59106c484"
      unitRef="number">-0.260</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzYtMS0xLTEtMA_76d96878-86c3-4c97-b11e-a0f96378d502"
      unitRef="number">0.020</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzYtMy0xLTEtMA_59245df3-b389-4562-872b-d12317c45c26"
      unitRef="number">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzctMS0xLTEtMA_0164fb69-605e-486f-b349-d828e9942e22"
      unitRef="number">-0.000</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTplZDQzNzY5ZWEzZTE0OTIxOTRjOWUwMTJmMmRhNzk5Ny90YWJsZXJhbmdlOmVkNDM3NjllYTNlMTQ5MjE5NGM5ZTAxMmYyZGE3OTk3XzctMy0xLTEtMA_8d9f2b9b-3e05-4619-977b-978f318cf14b"
      unitRef="number">0.001</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI5NjE_65a7e266-e2d4-4a31-94a4-0c18b9228717">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The tax effects of temporary differences that give rise to significant portions of the deferred tax assets are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;At December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued expenses and other reserves&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use-asset&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(73)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(225)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax credits, deferred R&amp;amp;D, and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,932)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,363)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Net deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzItMS0xLTEtMA_00028a21-9586-4362-a873-96eaf72c3e0b"
      unitRef="usd">1550000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzItMy0xLTEtMA_db0e392c-f953-47e3-ac80-a37a03ca86da"
      unitRef="usd">1787000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzMtMS0xLTEtMA_3b5a4d51-1d04-49a7-b96b-406bcfa0f906"
      unitRef="usd">73000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzMtMy0xLTEtMA_be51d868-b8be-4a32-a29a-3cdb036bc3ec"
      unitRef="usd">225000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <efoi:DeferredTaxAssetsLeasingArrangements
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzQtMS0xLTEtMA_c28138da-5190-4482-879f-fd8fc9741414"
      unitRef="usd">88000</efoi:DeferredTaxAssetsLeasingArrangements>
    <efoi:DeferredTaxAssetsLeasingArrangements
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzQtMy0xLTEtMA_261ce359-9f81-4003-8b3a-df1bcb76ab02"
      unitRef="usd">271000</efoi:DeferredTaxAssetsLeasingArrangements>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzUtMS0xLTEtMA_3c97ec14-3b20-4eda-825f-3e5c68d2cc33"
      unitRef="usd">49000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzUtMy0xLTEtMA_15508431-c832-47e2-adb5-18c40a4a6d3e"
      unitRef="usd">20000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzYtMS0xLTEtMA_5f63f993-abfa-4418-9926-a8e54c2620c3"
      unitRef="usd">17318000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzYtMy0xLTEtMA_13c1aac2-e8bd-4f38-b70e-a2784481164f"
      unitRef="usd">14510000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzctMS0xLTEtMA_ff8d0104-0c66-4b37-840e-c9ab988e7d0d"
      unitRef="usd">18932000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzctMy0xLTEtMA_dca334b7-177a-448f-a4ba-c5b25929f084"
      unitRef="usd">16363000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzgtMS0xLTEtMA_f7461ed9-07e8-47fc-b9e0-b7b6eb6e2598"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90YWJsZTo1ZDA0MmU3NDFlNjM0ZDBjYjcyZTdjNjUyZTU5ODRiOS90YWJsZXJhbmdlOjVkMDQyZTc0MWU2MzRkMGNiNzJlN2M2NTJlNTk4NGI5XzgtMy0xLTEtMA_f91738d2-7ce0-481a-9564-4d0374ecdb51"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzExNTU_f47e7064-5453-4b23-bea2-4103ff6fbcf3"
      unitRef="usd">9600000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEzNDE_7fe16a4e-2f45-4a28-9129-55941c6e22e1"
      unitRef="usd">7100000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i1f2d9a1ca0ff499ea1c3689f9f2e0d62_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4NjM_ff134b51-2888-41af-a986-f9c651d58373"
      unitRef="usd">125400000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i9f4bc6ef38584874b2d78022102d531b_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4NzE_77c231c2-4cf7-417f-baef-c5a5cce9c5e9"
      unitRef="usd">77200000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <efoi:DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4ODk_265ef7bf-1103-4cf5-8015-e7b32683f4f7"
      unitRef="usd">71000000</efoi:DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i1f2d9a1ca0ff499ea1c3689f9f2e0d62_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4ODE_ff134b51-2888-41af-a986-f9c651d58373"
      unitRef="usd">125400000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzE5ODA_f47e7064-5453-4b23-bea2-4103ff6fbcf3"
      unitRef="usd">9600000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzE5ODc_7fe16a4e-2f45-4a28-9129-55941c6e22e1"
      unitRef="usd">7100000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzEwOTk1MTE2MzA4OTc_48887872-b85c-44e6-bc09-0985ccfc74f9"
      unitRef="usd">37500000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI1MzQ_45cbd764-0b76-4ac2-b1e3-79b753955caf"
      unitRef="usd">0</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI1MzQ_aef2ead4-c4c2-4111-a717-f46b5754bb4c"
      unitRef="usd">0</us-gaap:DeferredTaxLiabilities>
    <efoi:EmployerDeferredPayrollTaxesLiabilityCARESAct
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI3NDg3NzkwNzkzOTk_69559e51-6afa-40a5-90c2-f88caada5f70"
      unitRef="usd">77000</efoi:EmployerDeferredPayrollTaxesLiabilityCARESAct>
    <efoi:ProceedsFromPaycheckProtectionProgram
      contextRef="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzIvZnJhZzo3NWI0ZWEzMjYyMDU0YjYwYmVkZDQ2Zjk3ODU2N2Y4ZC90ZXh0cmVnaW9uOjc1YjRlYTMyNjIwNTRiNjBiZWRkNDZmOTc4NTY3ZjhkXzI3NDg3NzkwNzkzODQ_23532a96-900f-4f1c-8d48-46fcd126cfdd"
      unitRef="usd">795000</efoi:ProceedsFromPaycheckProtectionProgram>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzg2OA_5e808b3b-fca6-429a-bc30-72248b3d0ce6">PRODUCT AND GEOGRAPHIC INFORMATION&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;We focus our efforts on the sale of LED lighting and controls products and UVCD products in the commercial market and MMM, and began to expand our offerings into the consumer market in the fourth quarter of 2021. Our products are sold primarily in the United States through a combination of direct sales employees, lighting agents, independent sales representatives and distributors, and via e-commerce with digital marketing strategies that profile our UVCD technologies. We currently operate in a single industry segment, developing and selling our LED lighting products and controls as well as UVCD products into the MMM and commercial markets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a breakdown of product net sales for the years indicated (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial products&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MMM products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,183&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A geographic summary of net sales is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2021 and 2020, approximately 100% of our long-lived assets, which consist of property and equipment, were located in the United States.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzg2MQ_ff3d0c37-ffc0-4493-aabb-a84103289f40">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a breakdown of product net sales for the years indicated (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial products&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MMM products&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,183&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:Revenues
      contextRef="i197c0fe1384549c487b81bb905620e44_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzItMS0xLTEtMA_a85698c5-566a-48f2-8f07-c532ca123437"
      unitRef="usd">4682000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic27dfd50f8b84336b419cf442767ca39_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzItMy0xLTEtMA_b4723371-5885-4d29-8e45-1695b41f595e"
      unitRef="usd">5404000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i2024eff72edb40b08a2872fd9afd83d5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzMtMS0xLTEtMA_6371b93f-a3ab-4fc7-993a-10614dd272a1"
      unitRef="usd">5183000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i1fb4bf01d859465d8a9690b5cade977c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzMtMy0xLTEtMA_d48400f9-bd00-4dea-97a8-9d04c163a692"
      unitRef="usd">11424000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzUtMS0xLTEtMA_c32d9bca-eda2-49cd-8c1a-3371145c0660"
      unitRef="usd">9865000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZToxZTZmMGJiYmRiMDY0N2EyYWNkMjNhNjZlYTY4YzljZS90YWJsZXJhbmdlOjFlNmYwYmJiZGIwNjQ3YTJhY2QyM2E2NmVhNjhjOWNlXzUtMy0xLTEtMA_52284e31-d180-440c-87cb-6b2b0f7f8353"
      unitRef="usd">16828000</us-gaap:Revenues>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzg2NA_7115d390-23c5-436e-b24e-6c2c86c0cda5">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A geographic summary of net sales is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.177%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;For the year ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,865&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:Revenues
      contextRef="i7f06ae07d18848d594df88fe8d7cfc70_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzItMS0xLTEtMA_426151fa-50ee-4453-af23-674c162a99d6"
      unitRef="usd">9712000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i19b5439904b14b289663730383e53ff1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzItMy0xLTEtMA_a2368f4c-f00e-4703-b94a-152d16e59bbe"
      unitRef="usd">16685000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic0151d79c4bd4aeaaf6a11c9700dd978_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzMtMS0xLTEtMA_0cc42e7a-7367-4cc6-8cec-28c858292ff7"
      unitRef="usd">153000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic1dbd62a77f24cddafa39b3a5a30bb06_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzMtMy0xLTEtMA_9b8641d0-59ce-496c-a7ee-2ed483111183"
      unitRef="usd">143000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzQtMS0xLTEtMA_86c0ff59-2955-40ad-a9fd-da99c919e408"
      unitRef="usd">9865000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i6dd2c59d8af3485c9c52883388e6e016_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90YWJsZTo3YTkyNDAxODI1Yzk0Y2EyYmMzNjg2OTExMDY1NWI4MC90YWJsZXJhbmdlOjdhOTI0MDE4MjVjOTRjYTJiYzM2ODY5MTEwNjU1YjgwXzQtMy0xLTEtMA_21151470-ed18-4f7d-b82b-7d5c82c3d7e8"
      unitRef="usd">16828000</us-gaap:Revenues>
    <efoi:LonglivedAssetsLocatedinUSPercent
      contextRef="i902bade71e834f7f9e25997670e249f2_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzc0OQ_c63607c0-22cf-44c0-aeba-b40eab818ad2"
      unitRef="number">1</efoi:LonglivedAssetsLocatedinUSPercent>
    <efoi:LonglivedAssetsLocatedinUSPercent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzUvZnJhZzplMWNmOGY1ZjdlZDE0ZmYyYjBmMGNlYjAxZDIyZDg1NC90ZXh0cmVnaW9uOmUxY2Y4ZjVmN2VkMTRmZjJiMGYwY2ViMDFkMjJkODU0Xzc0OQ_fde45921-06e9-437b-a22f-1d0c18666bc5"
      unitRef="number">1</efoi:LonglivedAssetsLocatedinUSPercent>
    <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8yNzQ4Nzc5MDcyODk2_708f1341-b460-4309-8a8b-a74e73dd35da">OTHER INCOME&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Employee Retention Tax Credit&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The CARES Act, which was enacted on March 27, 2020, provides an ERTC that is a refundable tax credit against certain employer taxes. The ERTC was subsequently amended by the Taxpayer Certainty and Disaster Tax Relief Act of 2020, the Consolidated Appropriation Act of 2021, and the American Rescue Plan Act of 2021, all of which amended and extended the ERTC availability and guidelines under the CARES Act. Following these amendments, we and other businesses became retroactively eligible for the ERTC, and as a result of the foregoing legislation, are eligible to claim a refundable tax credit against the employer share of Social Security taxes equal to 70% of the qualified wages paid to employees between January 1, 2021 and September 30, 2021. Qualified wages are limited to $10,000 per employee per calendar quarter in 2021 for a maximum allowable ERTC per employee of $7,000 per calendar quarter in 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For purposes of the amended ERTC, an eligible employer is defined as having experienced a significant (20% or more) decline in gross receipts during each of the first three 2021 calendar quarters when compared with the same quarter in 2019 or the immediately preceding quarter to the corresponding calendar quarter in 2019. The credit is taken against the Company&#x2019;s share of Social Security Tax when the Company&#x2019;s payroll provider files, or subsequently amends the applicable quarterly employer tax filings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the amended guidelines, we are eligible to receive the ERTC for the second and third quarters of 2021. As part of the filing of our employer tax filings for the third quarter of 2021, we applied for and received a refund of $431&#160;thousand, and we amended our filing for the second quarter of 2021, for which we expect to receive an additional refund of approximately $445&#160;thousand. These amounts are recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021, and the $445&#160;thousand expected receivable is included in prepaid and other current assets in the Consolidated Balance Sheet as of December 31, 2021. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;PPP Loan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;17, 2020, the Company was granted a loan from KeyBank in the amount of approximately $795&#160;thousand, pursuant to the PPP under the CARES Act, which was enacted on March 27, 2020. The funds were received on April 20, 2020, and accrued interest at a rate of 1% per annum. At December 31, 2020, $529&#160;thousand was classified as short-term debt and $266&#160;thousand was classified as long-term debt on the Company&#x2019;s Consolidated Balance Sheet. Under the terms of the PPP, certain amounts of the loan may be forgiven if they are used for qualifying expenses as described in the CARES Act. The entire principal balance and interest were forgiven by the Small Business Administration on February 11, 2021. The $801&#160;thousand forgiveness income was recorded as other income in the Consolidated Statements of Operations during the year ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct
      contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8yNzQ4Nzc5MDcyODk4_a6c81a56-52d9-4af9-9cc9-c3ca708290c2"
      unitRef="usd">431000</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent
      contextRef="i2505d1231c054af68152871f25cdc3b6_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8yNzQ4Nzc5MDcyOTEz_39daafdd-1401-4d34-811b-6061b3d22e2b"
      unitRef="usd">445000</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent>
    <efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent
      contextRef="i9f73e56b185c477d9990315664de9839_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8yNzQ4Nzc5MDcyOTI4_a78b88af-763d-4075-a7df-8661d1d6d94f"
      unitRef="usd">445000</efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent>
    <us-gaap:ProceedsFromLoanOriginations1
      contextRef="if96f463cbc104c67bd5c475b229d0070_D20200417-20200417"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMwOTgy_83b32fc1-5b7a-4417-86ab-4229bfa5f446"
      unitRef="usd">795000</us-gaap:ProceedsFromLoanOriginations1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="idda38c33d24c4b43a1f381624845675c_I20200417"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMwOTkw_3d7cbca9-570d-441c-a84c-523f36d04286"
      unitRef="number">0.01</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <efoi:PaymentProtectionProgramCurrent
      contextRef="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMwOTk0_65b82cb1-3baf-48cc-a99c-233cde1ce428"
      unitRef="usd">529000</efoi:PaymentProtectionProgramCurrent>
    <efoi:PaymentProtectionProgramNoncurrent
      contextRef="iaa35e9710f084dc49b3b4c6aa6a129cd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMxMDAy_82beb5c3-b239-4c48-875e-feabd9681905"
      unitRef="usd">266000</efoi:PaymentProtectionProgramNoncurrent>
    <efoi:GainLossOnForgivenessOfDebt
      contextRef="iea42c34c4a1d435f9719232c4345ced9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODMzL2ZyYWc6NDA3Njc3M2U2NzQyNGY2NmJhOGJkNjAzZTNlN2Y5MjkvdGV4dHJlZ2lvbjo0MDc2NzczZTY3NDI0ZjY2YmE4YmQ2MDNlM2U3ZjkyOV8xMDk5NTExNjMxMDEw_c0baec71-3224-44b5-ae0d-54edf719bcf8"
      unitRef="usd">801000</efoi:GainLossOnForgivenessOfDebt>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzM4MDc_32d41df0-8b08-417c-97e5-5f81b6eac308">RELATED PARTY TRANSACTIONS&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December 12, 2012, our Board of Directors appointed James Tu to serve as our non-executive Chairman. On April 30, 2013, Mr. Tu became the Executive Chairman assuming the duties of the Principal Executive Officer. On October 30, 2013 Mr. Tu was appointed Executive Chairman and Chief Executive Officer by our Board of Directors. On May 9, 2016, Mr. Tu also assumed the role of President. On August 11, 2016, our Board of Directors appointed a separate Executive Chairman of the Board, and Mr. Tu continued to serve in the role of Chief Executive Officer and President, until February 19, 2017.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 30, 2018, each of Gina Huang, Brilliant Start Enterprise, Inc. (&#x201c;Brilliant Start&#x201d;), Jag International Ltd., Jiangang Quo, Cleantech Global Ltd., James Tu, 5 Elements Global Fund L.P., Schema Hui Cheng, Communal International, Ltd., and 5 Elements Energy Efficiency Limited (the &#x201c;Former Schedule 13D Parties&#x201d;) filed a Schedule 13D with the SEC, indicating that they may have been deemed to be a &#x201c;group&#x201d; under Section 13(d)(3) of the Exchange Act of 1934, as amended, and Rule 13d-5 promulgated thereunder, and that such group beneficially owned 17.6% of our common stock. The Schedule 13D was amended on February 26, 2019 and April 3, 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 21, 2019, the Former Schedule 13D Parties entered into a settlement with the Company providing for the appointment of two directors (Geraldine McManus and Jennifer Cheng) and the nomination of those two directors for election at the Company&#x2019;s 2019 annual meeting of stockholders.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 29, 2019, the Company entered into a note purchase agreement (the &#x201c;Note Purchase Agreement&#x201d;) with certain investors, including Fusion Park LLC (of which James Tu is the sole member) (&#x201c;Fusion Park&#x201d;) and Brilliant Start (which is controlled by Gina Huang, a current member of our Board of Directors), for the purchase of an aggregate of $1.7 million of Convertible Notes. Pursuant to the Note Purchase Agreement, Fusion Park and Brilliant Start purchased $580 thousand and &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;$500 thousand, respectively, in principal amount of Convertible Notes. In connection with the sale of Convertible Notes, Mr. Tu was appointed as a member of our Board of Directors on April 1, 2019 and Chief Executive Officer, President and interim Chief Financial Officer on April 2, 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Mr. Tu is also the Founder, Chief Executive Officer and Chief Investment Officer of 5 Elements Global Advisors, an investment advisory and management company managing the holdings of 5 Elements Global Fund LP, which was a beneficial owner of more than 5.0% of our common stock prior to the August 2014 registered offering. As of December&#160;31, 2021, 5 Elements Global Fund LP beneficially owns approximately 0.9% of our common stock. 5 Elements Global Advisors focuses on investing in clean energy companies with breakthrough, commercialized technologies, and near-term profitability potential. Mr. Tu is also Co-Founder of Communal International Ltd. (&#x201c;Communal&#x201d;), a British Virgin Islands company dedicated to assisting clean energy, solutions-based companies, maximizing technology and product potential and gaining them access to global marketing, distribution licensing, manufacturing and financing resources. Communal has a 50.0% ownership interest in 5 Elements Energy Efficiencies (BVI) Ltd., a beneficial owner of approximately 0.9% of our common stock. Schema Cheng controls 5 Elements Energy Efficiencies (BVI) Ltd. and owns the other 50.0%. She is Co-Founder of Communal International Ltd. with Mr. Tu and the mother of Simon Cheng. Mr. Cheng was a member of our Board of Directors through February 19, 2017 and an employee of the Company through June 30, 2018 and rejoined the Company on August 5, 2019. Schema Cheng is also the mother of Jennifer Cheng, a current member of our Board of Directors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 11, 2022, our Board of Directors appointed Stephen Socolof, our Lead Independent Director, as Interim Chief Executive Officer to replace Mr. Tu. On February 11, 2022, Mr. Tu and the Company entered into a Separation and Release Agreement and Mr. Tu resigned from the Board of Directors.&lt;/span&gt;&lt;/div&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty
      contextRef="i6ea6a13dafe14b18bb11f171d6eb7e1c_I20190226"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzExOTc_c780874d-79c1-4b1e-abb2-947b020e2206"
      unitRef="number">0.176</efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i226fbb921c5e485897c159bb7db6a1cb_D20190329-20190329"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzE5Mjc_64442d67-796c-4ddb-a1d0-ca5ea60ba105"
      unitRef="usd">1700000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="idb9ed717b0a243c7a5b4ae753cb534c9_D20190329-20190329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzIwMzU_31e6beae-b505-4c72-bad3-a2428b676154"
      unitRef="usd">580000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i986b7a0a4ce8436295fd5285a858a2bd_D20190329-20190329"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzIwNDI_5a9474a0-b2aa-4a50-8f0f-8571deea81b1"
      unitRef="usd">500000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty
      contextRef="i3a6e6795461743609682ffcb8cd1e3d5_I20140731"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzI1NzM_df0602a7-a65c-4ca3-b0fa-0052876245fd"
      unitRef="number">0.050</efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty>
    <efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty
      contextRef="i0501a64963994dacaa526c0a82bd81fc_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzI3MTA_1abf7a40-3df7-4590-88db-e03d57c6b4ad"
      unitRef="number">0.009</efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty>
    <us-gaap:LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest
      contextRef="i6a84b900816b4ec9bd7cbf5ab67a988b_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzMyMzA_ff06968a-21ee-47ce-b75a-c3f8aac08290"
      unitRef="number">0.500</us-gaap:LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest>
    <efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty
      contextRef="i914dbf01dccc4cf7abc5b14cc72557fb_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzMzMzQ_481da66b-3553-4003-8282-ba921eca1655"
      unitRef="number">0.009</efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty>
    <us-gaap:LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest
      contextRef="i7fb52740cc5440e382b6587a44a17e81_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xNzgvZnJhZzpjZWUzOGIxZTNkZTg0YWEyODNkZGI3ZGEyMzBiMzIxOS90ZXh0cmVnaW9uOmNlZTM4YjFlM2RlODRhYTI4M2RkYjdkYTIzMGIzMjE5XzM0NDE_55ffc5f8-02f7-48c8-a42a-3fd467ca1aeb"
      unitRef="number">0.500</us-gaap:LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest>
    <us-gaap:LegalMattersAndContingenciesTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODEvZnJhZzowYTg4ZDczYTM1ZTk0Yzk0OTllOTdiMzU3OGYyNDQ2My90ZXh0cmVnaW9uOjBhODhkNzNhMzVlOTRjOTQ5OWU5N2IzNTc4ZjI0NDYzXzExNDQ_d0992ec5-bf66-4db0-8d5b-fb9f8442f5b1">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;LEGAL&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;MATTERS&lt;/span&gt;We may be the subject of threatened or pending legal actions and contingencies in the normal course of conducting our business. We provide for costs related to these matters when a loss is probable and the amount can be reasonably estimated. The effect of the outcome of these matters on our future results of operations and liquidity cannot be predicted because any such effect depends on future results of operations and the amount or timing of the resolution of such matters. While it is not possible to predict the future outcome of such matters, we believe that the ultimate resolution of such individual or aggregated matters will not have a material adverse effect on our consolidated financial position, results of operations, or cash flows. For certain types of claims, we maintain insurance coverage for personal injury and property damage, product liability and other liability coverages in amounts and with deductibles that we believe are prudent, but there can be no assurance that these coverages will be applicable or adequate to cover adverse outcomes of claims or legal proceedings against us.</us-gaap:LegalMattersAndContingenciesTextBlock>
    <us-gaap:QuarterlyFinancialInformationTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90ZXh0cmVnaW9uOmVlMDJiNTkwNTI4ZTQ1ZDg4NDk3MDliYTMwYzA5YTM3XzkyMQ_e40f75d3-ed13-4e4d-8ba6-ad70ee522730">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;SUPPLEMENTARY FINANCIAL INFORMATION TO ITEM 8.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth our selected unaudited financial information for the four quarters in the years ended December&#160;31, 2021 and 2020, respectively. This information has been prepared on the same basis as the audited financial statements and, in the opinion of management, contains all adjustments necessary for a fair presentation thereof.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;QUARTERLY FINANCIAL DATA (UNAUDITED)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;amounts in thousands, except per share amounts&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:15pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.650%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fourth&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Third&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Second&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;First&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,637&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,631)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,140)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,473)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,642)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per common share attributable to common stockholders (basic and diluted):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.50)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.59)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.45)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares used in computing net loss per common share (basic and diluted)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.650%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fourth&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Third&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Second&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;First&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,434&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,165)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,340)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(541)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) per common share attributable to common stockholders - basic&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) per common share attributable to common stockholders - diluted&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares used in computing net income (loss) per common share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,491&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;1 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with Topic 260 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;"Earnings Per Share"&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, net income has been allocated to holders of common shares and participating securities including preferred shares and warrants, accordingly. Earnings per share disclosed above utilizes income attributable to common shareholders after this required allocation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90ZXh0cmVnaW9uOmVlMDJiNTkwNTI4ZTQ1ZDg4NDk3MDliYTMwYzA5YTM3XzkyMA_731620d7-7c83-495d-9e05-e5eb480f68d5">&lt;div style="text-align:center;text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;QUARTERLY FINANCIAL DATA (UNAUDITED)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;amounts in thousands, except per share amounts&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:15pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.650%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fourth&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Third&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Second&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;First&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,749&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,637&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,631)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,140)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,473)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,642)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per common share attributable to common stockholders (basic and diluted):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.50)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.22)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.59)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.45)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares used in computing net loss per common share (basic and diluted)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.650%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fourth&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Third&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Second&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;First&lt;br/&gt;Quarter&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,434&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,343&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,032&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,165)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,340)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(541)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) per common share attributable to common stockholders - basic&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) per common share attributable to common stockholders - diluted&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:11pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares used in computing net income (loss) per common share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,491&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;1 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with Topic 260 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;"Earnings Per Share"&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, net income has been allocated to holders of common shares and participating securities including preferred shares and warrants, accordingly. Earnings per share disclosed above utilizes income attributable to common shareholders after this required allocation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;padding-left:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:Revenues
      contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzEtMi0xLTEtMA_4600d5b3-2fad-41c0-9838-c0755ef9053d"
      unitRef="usd">2405000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzEtNC0xLTEtMA_0d98d075-8bec-43c6-b101-fb8a7788a0e3"
      unitRef="usd">2749000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzEtNi0xLTEtMA_c14ba512-88b4-473b-b81c-0012b1d14023"
      unitRef="usd">2074000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzEtOC0xLTEtMA_73f8cd4d-84a9-4ad6-8276-c49a62d48379"
      unitRef="usd">2637000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzItMi0xLTEtMA_85c14b50-644d-4d34-87b8-c59fb358e76e"
      unitRef="usd">189000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzItNC0xLTEtMA_47b9c700-cdda-4fda-b98c-2f37bae83db8"
      unitRef="usd">563000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzItNi0xLTEtMA_63e4560f-1faa-4c48-92ba-f3369866ee79"
      unitRef="usd">393000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzItOC0xLTEtMA_1e99aa34-4876-4da0-a97f-52a58685f65b"
      unitRef="usd">553000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzMtMi0xLTEtMA_cf4be715-f424-412a-995f-70ebd8725147"
      unitRef="usd">-2631000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzMtNC0xLTEtMA_bdeb8470-40fc-4e87-ab69-41f3a39bd964"
      unitRef="usd">-1140000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzMtNi0xLTEtMA_d752c9fa-0ea7-475b-9998-3f09ceae2e18"
      unitRef="usd">-2473000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzMtOC0xLTEtMA_587a5e5b-69fd-4be2-a7b7-b5a93c0a10ee"
      unitRef="usd">-1642000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctMi0xLTEtMA_86e2eaaf-824b-4577-a881-792bf356e98a"
      unitRef="usdPerShare">-0.50</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctMi0xLTEtMA_cd8da8c8-5e24-4eac-a2f8-ac2dfa631fc1"
      unitRef="usdPerShare">-0.50</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctNC0xLTEtMA_4c38cdcf-c90c-4aad-8154-64599141cd63"
      unitRef="usdPerShare">-0.22</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctNC0xLTEtMA_66e06745-f029-4346-bfd4-b492f69cb1bf"
      unitRef="usdPerShare">-0.22</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctNi0xLTEtMA_6946c844-236f-4ada-bf5f-11595e32be89"
      unitRef="usdPerShare">-0.59</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctNi0xLTEtMA_b1815ada-1f10-4263-b1ad-9921d3a7c77d"
      unitRef="usdPerShare">-0.59</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctOC0xLTEtMA_3cf47b32-e70b-4555-8257-e0d6e4703a9a"
      unitRef="usdPerShare">-0.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzctOC0xLTEtMA_fcae6c4a-f90c-49cd-b0f9-0decf7f747cf"
      unitRef="usdPerShare">-0.45</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTItMS0xLTI4ODA2_83d8ce2d-9aeb-4b54-9fb8-9ffb3c774cae"
      unitRef="shares">5312000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTItMS0xLTI4ODA2_bf188dbe-559f-41ba-a311-ccb37c063f91"
      unitRef="shares">5312000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTQtMS0xLTI4ODA2_a7a145c6-5380-4316-b75c-bb8ae4d117cd"
      unitRef="shares">5086000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTQtMS0xLTI4ODA2_f0d740d9-9264-441c-9ce3-d18c85f072b0"
      unitRef="shares">5086000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTYtMS0xLTI4ODA2_3f9c710d-0824-4823-8e19-7fce350b14ed"
      unitRef="shares">4211000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ic5e9aa998d7646f0adb9e3f0a201ee9e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTYtMS0xLTI4ODA2_97dff020-0339-4e6e-b060-a2b6fe71a21d"
      unitRef="shares">4211000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTgtMS0xLTI4ODA2_33454882-d74f-475d-9171-789389195ecf"
      unitRef="shares">3612000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i41a5d994b7de4791b58eecdc225c6ef5_D20210101-20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTplY2ViZTRiMDc4ODc0M2NiOTI2N2M2NzA4OWZhYzg5YS90YWJsZXJhbmdlOmVjZWJlNGIwNzg4NzQzY2I5MjY3YzY3MDg5ZmFjODlhXzExLTgtMS0xLTI4ODA2_e8e198b1-f3e8-467f-a1e3-1a8468cd869e"
      unitRef="shares">3612000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:Revenues
      contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEtMi0xLTEtMA_5046b61a-50dd-4408-8e55-0a518760a119"
      unitRef="usd">3746000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEtNC0xLTEtMA_d65fa3e2-1238-493f-9ed7-6cb3db913319"
      unitRef="usd">5964000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEtNi0xLTEtMA_e58d241e-0a72-4c3c-b52e-320820b9d916"
      unitRef="usd">3335000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEtOC0xLTEtMA_222d158b-f088-4d3a-88ba-04c5c6a42766"
      unitRef="usd">3783000</us-gaap:Revenues>
    <us-gaap:GrossProfit
      contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzItMi0xLTEtMA_9ef3d932-d000-4be6-9c7d-aafa772a8a2c"
      unitRef="usd">1434000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzItNC0xLTEtMA_a0cf3f18-550e-4c23-a68a-2aea166610ce"
      unitRef="usd">1376000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzItNi0xLTEtMA_4f280e47-a879-4f55-914e-a45eac5a09a3"
      unitRef="usd">1343000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzItOC0xLTEtMA_54e9fe7a-8b19-4d6d-939f-09843849f8fd"
      unitRef="usd">1032000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzMtMi0xLTEtMA_a63054f1-d034-4b81-8bc6-d61673bd80a1"
      unitRef="usd">65000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzMtNC0xLTEtMA_1489f105-3bb1-4f53-baa0-b4f58703c268"
      unitRef="usd">-1165000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzMtNi0xLTEtMA_e0457f1f-c302-4cf8-8efc-e7682f084798"
      unitRef="usd">-4340000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzMtOC0xLTEtMA_b049a81c-1d96-4dab-b378-c54b910a0b66"
      unitRef="usd">-541000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzctMi0xLTEtMA_25c0ae7d-9785-4f63-b33d-3368f24e9462"
      unitRef="usdPerShare">0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzctNC0xLTEtMA_9f2d2cf2-da9a-46cb-aaa6-107a1fbfe101"
      unitRef="usdPerShare">-0.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzctNi0xLTEtMA_e882915e-7713-4e88-aa76-3704c785ed30"
      unitRef="usdPerShare">-1.36</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzctOC0xLTEtMA_74e48044-728a-4f9b-80f5-f05c146764e6"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktMi0xLTEtMjg3NDA_e736585d-b0b6-4d52-8835-e635441861b2"
      unitRef="usdPerShare">0.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktNC0xLTEtMjg3NDA_6de5e5f3-7588-4ab4-aa81-a6885d77f677"
      unitRef="usdPerShare">-0.35</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktNi0xLTEtMjg3NDA_8b9e8249-7791-425a-973e-434e36f29536"
      unitRef="usdPerShare">-1.36</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktOC0xLTEtMjg3NDA_2d1e027b-4d8a-49df-b264-5eba9e25ec72"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEyLTItMS0xLTI4NzUz_baa05aea-5ec3-4289-88a0-31439d3646f3"
      unitRef="shares">3491000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEyLTQtMS0xLTI4NzUz_476d23b3-7f91-4233-8d09-050ccc9bd9ba"
      unitRef="shares">3308000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEyLTYtMS0xLTI4NzUz_e7d88b7b-22eb-4e9c-be8c-3a64ec2c6e58"
      unitRef="shares">3192000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzEyLTgtMS0xLTI4NzUz_4a35fc26-c4e4-47a3-920f-06a25f80474a"
      unitRef="shares">3086000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ic6ea417a05054ae485f33beae6b15431_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktMi0xLTEtMA_776d5e73-f2e8-489b-9ec3-a8ffab8b60c5"
      unitRef="shares">4307000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i76f9e36883c1465dad5528f28d325a46_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktNC0xLTEtMA_9598adcb-7f39-414b-aa2c-49d03b403f81"
      unitRef="shares">3308000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="if2ea2c631b17474591d4019659a314e9_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktNi0xLTEtMA_f75179b3-72a3-46a1-9b24-8726cf3f65c0"
      unitRef="shares">3192000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ib434e6e8d82c4581a6c82e286dd3bb14_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xODcvZnJhZzplZTAyYjU5MDUyOGU0NWQ4ODQ5NzA5YmEzMGMwOWEzNy90YWJsZTo5MjY1OWExNTI5MWM0M2M2OWMxMGY1YTczMDRiNTgxYi90YWJsZXJhbmdlOjkyNjU5YTE1MjkxYzQzYzY5YzEwZjVhNzMwNGI1ODFiXzktOC0xLTEtMA_d323d1b2-c2ee-436f-abad-48ce37b4a5a7"
      unitRef="shares">3086000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock
      contextRef="i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90ZXh0cmVnaW9uOmRjNjdiMmJmMDQzOTRiY2Q5NDkxOWVhNjM5MThiZTBmXzYxMQ_c38817bb-82c7-4dc4-beb3-70cca7d0fc5a">&lt;div style="text-align:center;text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;SCHEDULE II&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;ENERGY FOCUS, INC.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;SCHEDULE OF VALUATION AND QUALIFYING ACCOUNTS&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center;text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;(amounts in thousands)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.311%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.816%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Beginning&lt;br/&gt;Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Charges to&lt;br/&gt;Revenue/&lt;br/&gt;Expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Deductions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Ending&lt;br/&gt;Balance&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year ended December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for doubtful accounts and returns&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance for deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,568&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for doubtful accounts and returns&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inventory reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance for deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i470ca8126ea5433aac9f7fd8d9230dee_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItMi0xLTEtMjg4Mjk_4da7799d-1d2c-43ce-ab2a-63976d9326e6"
      unitRef="usd">8000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i1d09896c5d3b4ce58068613148679676_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItNC0xLTEtNDU3MjA_d170dfa9-46a6-431d-b202-af7674623211"
      unitRef="usd">6000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i1d09896c5d3b4ce58068613148679676_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItNi0xLTEtMjg4Mjk_c834e391-60e5-492f-a33c-cfcc94d2520b"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ie92beb8db1b545eeb8bbf34cc5773ff2_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItOC0xLTEtMjg4Mjk_8cad18a5-56d8-4e45-b758-2459eda47f8c"
      unitRef="usd">14000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ibbb909451be248a9bcaddb97d16202e1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtMi0xLTEtMjg4Mjk_9dcc4118-190d-4e8e-92b3-c0f95affab87"
      unitRef="usd">2894000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="ie77f47dfbdcd46db90c7b9abb87be007_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtNC0xLTEtMzk3MTQ_4072783f-1190-415d-b33a-330d28c216e1"
      unitRef="usd">281000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="ie77f47dfbdcd46db90c7b9abb87be007_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtNi0xLTEtMzk3MTQ_09bffc2e-1aaf-4623-9fec-6bdd07739faa"
      unitRef="usd">125000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i20a0302f7a374d1a851c7f5612e3df06_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtOC0xLTEtMjg4Mjk_f2e9bc6b-7519-46da-baac-bf9663e2f8f5"
      unitRef="usd">3050000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i4980c7cd73064cf6a9d691510a59cbd5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtMi0xLTEtMjg4Mjk_3e95ffe6-2c73-4317-b810-0ab909688722"
      unitRef="usd">16363000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="i38e69ad7c47941cabf512c28ed20f43f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtNC0xLTEtMzk2OTg_9ade328d-065d-4f62-8600-84867ed3cdb3"
      unitRef="usd">2568000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="i38e69ad7c47941cabf512c28ed20f43f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtNi0xLTEtMzk2OTg_18f9ef03-c760-4b58-a6aa-40ba09b5c91e"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i9863b9679558410ea32d213fa97f7d72_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtOC0xLTEtMjg4Mjk_03b850a5-86b2-4737-8b44-7f64ee8cb0cb"
      unitRef="usd">18931000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i15d2a29dd4644d06a4ed9d981c8d9103_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItMi0xLTEtMA_720c7660-9ac6-4005-9ac2-0ea5d2e1badc"
      unitRef="usd">28000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="ie497d4f6ca9a484a9b70f2ccbb3e8858_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItNC0xLTEtMA_76328179-669c-4b22-a7db-47a9b21bd2f4"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="ie497d4f6ca9a484a9b70f2ccbb3e8858_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItNi0xLTEtMA_4406e0a3-d075-401d-8ca9-09e794a8560d"
      unitRef="usd">20000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i470ca8126ea5433aac9f7fd8d9230dee_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzItOC0xLTEtMA_fd93bbdf-ae7e-418f-a9dc-bbd2d66f8ac5"
      unitRef="usd">8000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i88c89f77bc274c40b39391a664b32bbc_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtMi0xLTEtMA_f5c12d9a-97b7-476a-8140-91a9721f8f6a"
      unitRef="usd">3518000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="idedbae9094ff4b0ea730fbda6bad71a2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtNC0xLTEtMA_691aec39-1841-4ef5-88ce-75268813c91a"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="idedbae9094ff4b0ea730fbda6bad71a2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtNi0xLTEtMA_0253c54b-c1dd-4ecc-bd40-ab4f45cab12d"
      unitRef="usd">624000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ibbb909451be248a9bcaddb97d16202e1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzMtOC0xLTEtMA_251fcf16-15bd-4e71-b5d0-d821cfe2d2be"
      unitRef="usd">2894000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i7073a92a6cda4479b4673e4cc22f0277_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtMi0xLTEtMA_4533d58b-10cd-480f-9ce7-d6335a2c71ff"
      unitRef="usd">14390000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="ib2500e9c4f1241b791b32c557a343941_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtNC0xLTEtMA_045e9638-da5e-416c-8c08-f12ca04e9568"
      unitRef="usd">1973000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="ib2500e9c4f1241b791b32c557a343941_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtNi0xLTEtMA_b3f7f3c1-d46c-4b1d-8540-c706d207363f"
      unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="i4980c7cd73064cf6a9d691510a59cbd5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8yMDUvZnJhZzpkYzY3YjJiZjA0Mzk0YmNkOTQ5MTllYTYzOTE4YmUwZi90YWJsZTo3MGY1N2E4ODQ0MmQ0NTgzOWVhMGU4NTkwMTc1ZDIzZC90YWJsZXJhbmdlOjcwZjU3YTg4NDQyZDQ1ODM5ZWEwZTg1OTAxNzVkMjNkXzQtOC0xLTEtMA_82446e8b-d8db-402d-9fff-f8f14a9fa4f1"
      unitRef="usd">16363000</us-gaap:ValuationAllowancesAndReservesBalance>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTUtMS0xLTA_2fec7892-0246-4f3a-82aa-e5630642dd8f"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTUtMS0xLTA_2fec7892-0246-4f3a-82aa-e5630642dd8f"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTUtMS0xLTA_517ec01d-23dd-4811-bd8b-a77b610eb21b"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTUtMS0xLTA_517ec01d-23dd-4811-bd8b-a77b610eb21b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTUtMS0xLTA_f2de4794-894a-4739-891f-0a662d23770d"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTUtMS0xLTA_f2de4794-894a-4739-891f-0a662d23770d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTUtMS0xLTM4NQ_baf07fc7-da8e-4c1c-8ecc-380d268c6b7d"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTUtMS0xLTM4NQ_baf07fc7-da8e-4c1c-8ecc-380d268c6b7d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTUtMS0xLTM4NQ_9ca8cad5-9cf5-44b3-8062-8460b8688df2"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTUtMS0xLTM4NQ_9ca8cad5-9cf5-44b3-8062-8460b8688df2"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY4LTUtMS0xLTA_275ce0f7-f1ae-4faf-a324-7f9ec3be3370"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY4LTUtMS0xLTA_275ce0f7-f1ae-4faf-a324-7f9ec3be3370"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTUtMS0xLTA_6356fb33-48a0-4b49-9745-f3ffcb1e6c2d"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTUtMS0xLTA_6356fb33-48a0-4b49-9745-f3ffcb1e6c2d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgwLTUtMS0xLTM4NQ_62c95a26-22d9-45d2-818a-ec9ede1a623f"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgwLTUtMS0xLTM4NQ_62c95a26-22d9-45d2-818a-ec9ede1a623f"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTUtMS0xLTM4NQ_f7eb3ceb-081c-4973-9eb4-ee731a22afc9"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTUtMS0xLTM4NQ_f7eb3ceb-081c-4973-9eb4-ee731a22afc9"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTUtMS0xLTA_46f993bd-944b-44a2-985a-4f43d0abb672"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTUtMS0xLTA_46f993bd-944b-44a2-985a-4f43d0abb672"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTUtMS0xLTQ1MjMy_6d60ea95-3e82-4714-9689-ea28e0c45607"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTUtMS0xLTQ1MjMy_6d60ea95-3e82-4714-9689-ea28e0c45607"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzU5LTUtMS0xLTA_2fec7892-0246-4f3a-82aa-e5630642dd8f"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcxLTUtMS0xLTA_517ec01d-23dd-4811-bd8b-a77b610eb21b"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYwLTUtMS0xLTA_f2de4794-894a-4739-891f-0a662d23770d"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc2LTUtMS0xLTM4NQ_baf07fc7-da8e-4c1c-8ecc-380d268c6b7d"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzcyLTUtMS0xLTM4NQ_9ca8cad5-9cf5-44b3-8062-8460b8688df2"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY4LTUtMS0xLTA_275ce0f7-f1ae-4faf-a324-7f9ec3be3370"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzYyLTUtMS0xLTA_6356fb33-48a0-4b49-9745-f3ffcb1e6c2d"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgwLTUtMS0xLTM4NQ_62c95a26-22d9-45d2-818a-ec9ede1a623f"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzc0LTUtMS0xLTM4NQ_f7eb3ceb-081c-4973-9eb4-ee731a22afc9"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzY0LTUtMS0xLTA_46f993bd-944b-44a2-985a-4f43d0abb672"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzgzLTUtMS0xLTQ1MjMy_6d60ea95-3e82-4714-9689-ea28e0c45607"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMzAvZnJhZzowZjRkZWQzYTUyNjA0YzM2ODdmOThmMTRjYjNiY2ZhYi90YWJsZToxOGQ4ZjIxMmI0NzU0M2E3YWE5MTAzODhhZDgzMGJiZC90YWJsZXJhbmdlOjE4ZDhmMjEyYjQ3NTQzYTdhYTkxMDM4OGFkODMwYmJkXzg1LTAtMS0xLTQ1MjM1_919291c8-b545-445d-b0f5-fb45a11d2973"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_08168ba6-f958-41fc-a4bc-69ad0eb96e64"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_08168ba6-f958-41fc-a4bc-69ad0eb96e64"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_cb43b184-2f6b-487c-bd9b-a1a2868ee3ce"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_cb43b184-2f6b-487c-bd9b-a1a2868ee3ce"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_a81e93fe-6a31-426b-b0f0-f1337b3fb947"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_a81e93fe-6a31-426b-b0f0-f1337b3fb947"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF81Ng_fef64df8-1f2e-4585-89a4-4490387b3c63"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF81Ng_fef64df8-1f2e-4585-89a4-4490387b3c63"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_5c4b2ca1-1270-4bac-a44b-3dc0acb0785a"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_5c4b2ca1-1270-4bac-a44b-3dc0acb0785a"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">&#160;&#160;&#160;&#160;&#160;&#160;*Shares outstanding for prior periods have been restated for the 1-for-5 reverse stock split effective June 11, 2020.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_08168ba6-f958-41fc-a4bc-69ad0eb96e64"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_cb43b184-2f6b-487c-bd9b-a1a2868ee3ce"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTMtMS0xLTA_a81e93fe-6a31-426b-b0f0-f1337b3fb947"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjEvZnJhZzo1NjE5ODAzOGNhNTc0MmI2YjQ5NjU2ZDBkYjI5M2YwNy90YWJsZTozM2VjNjRlMDUxNWE0MmRhOWFkZjM2NTVkNjRkM2IxYy90YWJsZXJhbmdlOjMzZWM2NGUwNTE1YTQyZGE5YWRmMzY1NWQ2NGQzYjFjXzE1LTAtMS0xLTAvdGV4dHJlZ2lvbjo5NjZlY2E0OWIxYjg0Njk4OGUwNDgxZWE2YTFmNTM1OF81Ng_fef64df8-1f2e-4585-89a4-4490387b3c63"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ2LTEtMS0xLTA_5c4b2ca1-1270-4bac-a44b-3dc0acb0785a"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjBhYWM1ODg4NGFmZDQzYzdhZjE0OGUzOTk2MjRiOGViL3NlYzowYWFjNTg4ODRhZmQ0M2M3YWYxNDhlMzk5NjI0YjhlYl8xMjQvZnJhZzo0Yzg2ZTA0NDZiMTk0NTEwOTcyYzlhZTQwZDRhZjNlZC90YWJsZTo5OTg3NGI5ODBkZjI0OTk1OWQ1NGQxOTJlOGU1OTNmZC90YWJsZXJhbmdlOjk5ODc0Yjk4MGRmMjQ5OTU5ZDU0ZDE5MmU4ZTU5M2ZkXzQ3LTAtMS0xLTA_e7007b8d-06fb-4e0f-aeaf-181b322bcc60"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>106
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M.A^3=V_?D[>$"W+#XQAZ1I]W#;S'/MT-<\RK':9W!-/UR(T49JW)M8A8]#-
M%P@6++T]RRL/11RSL$-\]X1XCN=6$!KAX3=4=8@;9.%>1?@8#_\C%?!VI^KM
M/[7&+W+N9W@^FO._APMM%(S[?Q#(H( ,,LC@6()DF,)L-.3A9<.J>@P/=YWV
M9X1%KV#1:\9B*$1*8W+/-E*9*CHXCE$I0^B<%G1.F]&9,<5E9$<C@4E2F9\:
MI'S\_?+F3<T8Z!?<^BCB*%7*4IMP'4*F?C"J4'XX6KOM>FT?XS4H> T:#B1%
M0=PS;3[>C3C6DL8:Z\>S@M,9BG,M##<OD*J8D=LT63!5Q07'<!RW[9_V!C["
MQW5*T72:,+IG*V[G,*3KEB:5_58'='M]__$'F=R-OLY/R/1VU!U?8PP/9-UM
MPG J0JF@]ZCMR!,R-S"\B%1D)%-AU O\1]6T<72<I%>2])J0?*#/9!K!H.-+
M'F9,D6ZN@3P+VC[,T$'/P1B62NWZ31@.HT@QK4_V!^0+/$?N1'7N<$@?EF0.
M&:8*>H7<2XKYHUOJOXLK.$KT82LKB>*0\Y3#8+G"Z)7&X.**_IK>R)[!.'R0
M6U%)#8>;RU@*C%AI$2ZN[*^)%3-DIN03%V%U#^.8=Y\P:J5#N+BHOZ8VD]J
M5?S%-\>G+8X8!*Y_AG$K7<+%I3WKOR%L-(Y3P0&" )V@I36XN*Y_D=8^9VLI
M,&^H >F[O8[K.Q@CK_0&#Y?T!V[ I^22N-Z[Q7LR9V&J(%M5M&J01C))0 MA
M#Q ^GI -K!">:)PR\M;I@(2X9 .K2+VF"O-8KW0,#]=T,/R(BQ69OR0+&5?2
MK;&<R=T48U+:@H=K^#YEY/HY7%,!6Y-C[EH#=#N<CX=_8IQ*(_ :&<%WV*"V
M'P6H%G0LU3#J(C+5.JT>=C68MQ*C5DJ_UTCZO\D8/!WV[ME"257NVVJ0<$*E
MV'N-Q'Z_Q-TM'[.A!>*:5A/#$7\PC3$KU=YKI/9389C:51SL@IONJ58RPQ%K
MF)5B[S42^ZSKR @\:"55M6;@.+=2M&D8,H !D&@'B#$L)=_#%3MG.$]H').K
M5,-M7=V7.$[-YLXKI=]KM"VX3IA:V='U$1#,&@PIV5!1G3L<L&Z_XI<>X./*
M/1U-[F&)%W$#*XFA,0R<.UO73F*ZJF)6@U?+K%1YO]&^8+X&(<-250-32Z@4
M>[_1'F"6+F(>0GXDK9J&XQREEZ'88N;3I=OOP([WJ>KM!Y681K*>.^U\Y[1S
MZZF:W*4&NDU84ZPJ.>7(IP>,3H.>W^_WCY J!=UO5LS1!]LWF,H+N^%<,A"J
MZE5I#>K,BK 4VBY-S)K9XB@7/-/ C9+/+\2.49;M_8TD"T:6(!T1V7*84_;Y
MW)4Y9 :24GJSS1W7>1TXIAD@ -@05>R/?_MUX+G]WW56@=N7AVX8RVP!"&69
M7\LX N,BD'W"7[5<[5L.=P!]1I4AT^ETUQBN<Y/I8$.R]"^_F7]!*A30G(J(
M/9//K'J>X%"P3G/.O, ]'6#,2O_R&U:T#LM&$[A8*<0U8'75S-*[?-QS7K/*
MRVW'>>%PDQ\8J]*O?-QGAD IVM$Z)KK_LWS5/2BW6_/)/EMH$MJ:RJ[R7EPM
M/HT,LP\"W?+QW7>5&VJ]2Y.8+2'4Z?1A.*G=IXK=B9&;K'B_D,;()#M<,PK3
MQ#X ]Y=2FOV)?4'QP>CR/U!+ P04    " !@0'%47*OVEAD"  !G!0  &
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
M3B_$6TU697?5T2(O"]&5T%C6ELT$/U5 &@&<7PNAWSMF@>;C9_H?4$L#!!0
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
M.>VH94$U9)+]K I33KV)1PI8T@TS=W+W&1H](\N72Z;=D^QJVQ@]YAMM)&_
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
M3A.@PXHDO@Q(#4_HU1W.9!SL*VLR+L<;-+=LFQ_V-MQAM/%!D!K&T#!C?CE
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
MC 'ZB&X& /^&1P!N*YFO2M;79% $!58F)"*;-9I"-"=(P> [MBZ87":+LC^
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
M]$],."J-#\#WBPH,)OD#-["_(_WC_P-02P,$%     @ 8$!Q5.\"@=(P%
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
M4M>$8T)*"H>WW)%AVC::44C^%RWCO__KR6+^^'G8FTP!,JC[MLGN'!X\4V-
M^'/>X+40<@ TS)^J>^KA$P#&Y,.@]::)+=2%F [V7#Q]<,>"BQD6G,\'X^?S
M.\?/,9Z97#S_<7&/!?RG\CVT*^GI)NW[$N6A_.8P"P/BF>V?38!_AS6RL,2!
MVVA*LVA.#AJW#)[T29=P*OO6T&"'-*1/KT1XY*1):./54SZ7Q$L63XF D&
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
M90,*6#05QSE2*-03P>(M[SD6Y#5/<'LRV1-C '6-T0)#4]0'#N^=-<Y9@X%
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
M0HB6!6A_8XP_3-A!]ZY;_0-02P,$%     @ 8$!Q5)U[JK:K P  ( @  !D
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
M$@@]W(JB2(A;?&PJW8#H6WZBP]+6(@'=8%WK[!J@ZONRQE,N6\-G%"D*/.-
M2]\"FZ[O28RU!^O)!A@Q!DQ:I"AYVBY\C@NMLJ7Q!I?%L@3WP^K-Z ]DNEAF
M6SR##>(9.JC6[.X02T=%IFZY;#8-BTU6H"+J&K^H%(:R]*](S;I+FH5 VW&-
M$H6[.HK#N67A"?.8[R/I0<7SAOD(>#KS\"\LO0M%DV 6+8(H]O$U[V:SE<6]
M"6*TN(+SA6_/^@<(QF:=+=<BTY8D8@!N#'ZI4W#FIRMT].BU-=.PW]*$XFU3
M&=P@[I6LA"+[V)=/./,XCH/)N$_V/C+[3",ZP&^.XFB/AW@L*? [#F;P)TI\
M./\D0D;C<9!$D[V4?#ZTLWH-$G G=6=2UDZ\NE;@IT$;I+A:KL'&P.'$H[>B
MO"M 7M;95MQ4)7CI8P)ML K;H'ATG)X<CTY:OBZ!&W5&3A!,? &(YXP<B8#P
M<4SPD'1*(50$N?_$"Z6G$[0B(/TWTH2QE:*E3IAP4*F\26':'QN2WH^R^B;>
MO3L7QR;8\JZ[" L7F(B+7+$&_Y27UZ"5Z$O%N_!CB'%=45<8VX%ZK%99GLF:
M^?H+$*G%YR;PA?RO%!5O8/O@X)<-X=+SM<RJ#6H+3'J^SM3*^Q+,'>A81=\!
M7RKT71ME<0/._*:454J6E1PN>,@3XM&= H,!?]]4J,UH]ZYJ6=7B LT":"ZX
M3K \H=M][[X.!WZ1Z/=A7"&-KWA7IX<V_Q.@>?$S6%N L;)'<,N* =)#\65;
M%KZ1X5%9!6Y+;PV4?X3P&\$,.J>->^GS U96,&<JXODXF(//QYOBR2(83<9F
MH<!;.[\/]AFN)V@2*5&E2%!!8PAV9KF!2;+O(=XJG=TPZUNT 7I2J1J]$[*A
M-K?2-[4;E\L[M,<P[E<)>$DD"[0D\<+:TM3,#&0D >! _'G /&_=5C1;Y2T8
M+/"#C=I-A) @[F7"L9?H^%!E-Q0!NKOW\\"*9B@^>"YZPN::&03R779<LG/7
M'76TAN1!MXRN&^P'G!BH#=Y<..PN&T!<5?8[,L0QKL<D'#ZQ_&71>,J&25P(
M/%IZR]V-!P=HW$^8)P"'C@H]1S R\D'G]A3Z.:0O6[/M'?R3SKL/X1ZUMI(@
MZ$8*" BT0=UC[(@&;PQQ2,Y _!;@%HN8!_6&I_3-08 #R<67-XH0/R%Q#9?
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
MM)/(2Q!&?%+L^N^FZ/!H+0^Y;'#*!@J/&PP64^GJ3O'<XHT])0&N&9BCN2A
MO>[%C^6R 2&FSAHBFLL3ERX="*ZSZ'0^T%UXM8V$T.*XRUS\MTN9!%NGZ@O;
M1 IE46 Q<@-[-![N2FUKTPD\LWN1*SQ2%BW@X0I/&NL?'$6P+[MV=JU-YP[N
M#USX(_8'=QW:7VL5),(H3G,:>ACPCB;]QI2=.% AKN$*:W_7HV@0$M/O>9!,
M>LC6J\O!TC<D["T;'-FF0'DOJ#4T'C].2APS+!/,QS]QR+\TN6T"02K^H><;
MS;V3-5VTN^<+=PV=K]U:[WRM>_8/.$Z><L#>CI,Q-P'AE80RG'A]EWF6L]+K
MQ[6@J:6TGT,VY'0+M19;=83"SH#=CX6?*NKN+'052A8_%-#_1\0F4].@]+ZT
MY[,!";]6K :>O*#;)RG^JCCS1<^;D*3!=R#W6+4SQGS(R.)@,QF+JBF\D&DW
MN<+\W@^G7H)OO<-:0(!B7:B[QU+XDP+)1O$+NC4>6LJ.LIB[ XU;L4-$1)VY
M7KZ'+0,[DXO--B_OE;FHQ8U=4V"(Q5@. ,%^IV,0,Z&[FILZK 7J$4U8%OL^
MN/AABFY87R%VA*#!%8$Y[:W%WU',ZJ#., &-IIR-P/(^AO*G^-PIII"J.ON=
M;]TH0.,&%[>1+]/+#VG#[+JS_N!2UL=G@%+!?<,6,)Y&C-0&%>X!+8#09>JW
M/QT34SE<UR<O:-MXYZ'^:;;>YZ4F7(<X6(LCL8"?! N-F.R%$/%6Y>66= X4
M)08/KO*<<ASF5!F,RA0+1-P% ?(_AB@VCA<FX[QW[T<06^-Z\2@>]$F[^04P
M%H _W5$/<I+K "Z]29/ A<1>Z/:OTLEI9;+A=W +Z@] ^^K&8&[O@,S)<\MA
M7RQLH[T?B9J3LL4[FP+;20SQ?0(,G34!>'INMYU]8@_>]RV'I/R$7TN6<YPN
MTYN$,Z.KAU+JHS ^>%=D(*+3O,\V?'9A*[?#>3<1H;HF0E*;8K"/6Q@DH2W(
M?I-+D)&K)9A]=&L\ 6;)\ ; S2H'NV(F S]9 ]C^W0O)[5.*%/518SO'BY9/
M>;9RP3U/#E*0Z6^G*S1$[MD0$%\56$O'(R&$E#5!^\ E)RR,P&.1+/+ Z51!
M0)MST,260+_P%.W'#K<L'PWR.((36"2H>B&HSD4W37@D)F$THR^G<\Q9=?=D
MF(4F@([P1$Q!V*=PHI^&=RBB<"'^ K]G\/MB=Z-B,07U^8M8C,(I_'EK>N;$
M?8:/-& #!HVF/^#QS&&PVP7SE7, PX:QWTMY=G4N9O'\%"M.I3NWWFEUI BW
M&7(JSQL=/# "A8\MCA&\399N2V #Z$M]AX4IO(C^" 7,C\707+9U\8)>=$!M
MC1"DVNN=Y<B=L(8W-M\-J^^R(BNX&D6Y:R?Y9GH?*-CC![(D.4&#%.\P4I0#
MJQ,"UOY#4:TK6E89]=.\,!P;>A2Y,R-U<6KONKEU0(%?^G/:"'AHS@RA*O4M
M%0Y?F5XWJJ9;9FA5W?:;"_P(VC^PET(9H(')@5+P(]=&F$#7[%S<_6X08^?$
MP9^N5&8S)QUH\=C).<"PLW9 E,"^2S+2V(EF+#PY%',$@\M:*=Q%9P4)8Z%7
MX#*HS]2T=:U5>J,D]?!^Q:)KGH'3YB19VX'C2XLF<?&D!=V?D1)3O'%F^X %
MI;Y7J\!IJVV^T@S97?\8AKZG^O& -FRIZ9LK]3@>5V/V&/>ZQ]KYEN!+>!6*
MNJ*LR+WX757E*02!*(ALW !LWSI1;S&M:3@ EN##6/>HVQ!6.*$ZP"0FS;.M
MRCDQ O<M_]@B>!OW!IEN$5\=O9&$&J3#$"L6.+^;]=91=9!4&[Y@QI>:#]IV
M:>-HMU+7?$)I2;?Q?%3'D7Y[-='$)K1"N%6:]P\XX(+65+H:@Q\^?# R[U>/
M.(Y!B>4&LJ$R*M,NA^7/1BQ,O!4_"Z2M3\"XK2T??;4H[</! B[@W'@R"2(
ML>BIDY'XR9B .$Z"T21BOWV.D2<]''8\&@6SV?A$+,))Z^SA.MP>3V8G<'\<
M/[ H (H$HN8QS([883QQB\[G5 TDR."O.0UFT?0$KH\F7/>B%8/I)#H1XT48
MSWU*QD&23$Y$'"ZF#Q$"\&8Z"^)HP81,Q=]8-SLH"I\5084<'@__C:<)CX\M
M&=+TTN_>OP V)3'=GLQ)OTSRY<);#JDP.9B.%65<W;4?;"QMPHLL.H!H]R(-
MC+-.K<@8G]%@\IU0 P"XS=8^%<65U/[\H2!^NN5ZQ763:W9@G,7@X;O-LU.\
M)M@\N(XOZ-C!F)W^@Z+=M7J(T1A-'(W])@N*I>)%6W#O/PS(P0L]T-<W;60-
M\I+^]RV9Z=;S8!=%K=QCD_C]8Q ::-\!=3!,5IS"G],-Z/"]R3PP?P;9L-=^
M4-.25J;B;_+P%9<-R0MTGCC!_: H^)#_P\?/EQ_>7XD/7SY??3Y[__;R_4_N
MVL5_77PZO[PZ>_/N0GRB\E^YZA6EM6>!3-7:UT!GE,Y,Z/C)197GGN%[AX;/
M"PEVAO4JX3MK^EKX3UKS*$:[14\%)"_Q$UC)Z2(8S69B'J(Y@.\7(ID%T6P.
M5V)[!>]<M..2$(SA;!$L9A,Q"R=H/2,Q'@4+"%#<9[PK;L=,PG$B1O, $Q5S
MB'(@2I[A<Q(1V*]9.(?/\ _>-?+'S&,Q@3&S,5AN^#><3$!X%C!@C!\2NB7Q
M"%N$0%(2!7.8'"F)(R1\ <9_3O%9/ [!4EOSR7LF$VHLW PH,U;N4YOEXD#\
M2X'/[EP6)LE[ITR?+ :4>#"#:3'M]YBV -<B27O%R]</94JI=MAWH:@B9!\Q
M(TCY3_@93(JML:HA[1L,4>3VI/#0J #Z>;%O\\-J,>2?I\$T&E&B*8QGK7M>
M!/B"&#CKL75:QYB@GLY/,!R?8A8-;3T[RF2"#C'!$QMJ*0(3/YY'*$QCMX I
MU  F<%[Q>)($T3Q"/PSG/)CT2@)\_<H1G#XPW.52C<5T+:\$@R[]^@[L=!3L
MOGRC7W$9M7.Z-X'PG$/%JE&GF,%510YB\;YXL1B;^*I#62C.C%N"TXUW'J3>
M?0*C\US5<)I^U*T4\4<4OPW* D0]-_1X5RO5?F]1M\_:!)2 6/%Q?9':QE9M
MVJO).KF'&7%]C+_).LZINWAIBN%[FTB&7N2'-X..9@4WI5>^QW--N:Q.;0Z=
M,_J*@T)8J'V ,N-WF&!+ ^%]KV+=FRTPSSCZ(PFD=Y\IXFJYB7--=9ZYV;[D
ML&GK_KT$;<MWR_04:U!X\'03J. H&7R#P-YZY#R8M*_V<(UVW9).V\L[("M#
MKZ=\[KWFDWI \&6F5 HL:G[CI[OJWI=ZQJ\);6_GEZW^*BLX30VP9 5#(S#V
MS_CY/_NA+K?TTM#KL@9&T[]K)8%.O &^7Y5E;3_@ NXMLJ__#U!+ P04
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
MVTF\U6V6Q[LQYB'#;HA#WA*FP_[Q44_8>-^,#]Y4X8ZW,!XWQO SQQ6=+"_
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
MJE : ]I/A=!/$Q.@^_E-_@=02P,$%     @ 8$!Q5-FPE)Y$(@  5G(  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C<N>&ULQ3UIC]M&EG^%\'H7-B#)DOIP
M=RZ@?23C09P8Z7CR8;$?2F1)JI@B91XM:W[]OK.J*%'L;F<& PPR;HFL>O7J
MW9>^VY75IWIM;9-\V>1%_?V3==-LOWGQHD[7=F/J2;FU!7RS+*N-:>#/:O6B
MWE;69/32)G\QGTXO7VR,*Y[\\!U]]J'ZX;NR;7)7V ]54K>;C:GVKVQ>[KY_
M,GNB'_SF5NL&/WCQPW=;L[*WMOFX_5#!7R_\*IG;V*)V99%4=OG]DYO9-Z]F
MU_@"/?$/9W=U].\$C[(HRT_XQ[OL^R=3A,CF-FUP"0/_=V=?VSS'E0".S[+H
M$[\GOAC_6U?_D0X/AUF8VKXN\S]<UJR_?W+U),GLTK1Y\UNY^YN5 UW@>FF9
MU_3?9,?/7IP_2=*V;LJ-O P0;%S!_V^^""*B%ZZF)UZ8RPMS@ILW(BC?F,;\
M\%U5[I(*GX;5\!]T5'H;@',%WLIM4\&W#MYK?KCEVTC*97+K5H5;NM0437*3
MIF5;-*Y8)1_*W*7.ULDS_=?S[UXTL#4N\"*5;5[Q-O,3V\SFR?NR:-9U\K;(
M;-9=X 7 [ &?*^"OYH,KOK'I)#F;C9+Y=#X;6._,(^*,UCL[L5[?B?_W9E$W
M%1#._PUL<.XW.*<-SD]L\+&VB&5;-PZ(R=9]2'S<"LGO:YL +VY-98C$X<NE
M*TR1.I,G=0// /\T=>**)"T+9&'7[(' FG7R<7([27ZZN?D K/6Y=16LMC$%
M\"&^D30E_/7)1EN9(DM,#;R[Q9WJI%F;)C'+)3 7_-O"*MNR:BP\M$$TU@@+
M/&\;?C5W9N%RUSA9*G-UFI=U6]&) #A$/.Y\ZAW>)0-8\ 7\=]])1_3B*7@J
M>V>+5B"P7T"PU?!'UE9XZ>$E_&MK*U=F-6*WAH5M-DG>>ERX(LW;S(Z210L
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
MI];L^$?^[@_YSA\774(%Z>IB-)]?14<X A_K$6R5N@[\T\ET.IV%$Q!E/W,
M5(!$W:4[5*L^I=P#&'MYO7<V"'N[Y?A0HHE(N9?YRZO1^>SLT8?JN13*1Y'T
M]01&V?1."I[>O9QB!51;D[VQS=LZ>7H^]Q]Q60?7S(VDHK 07]*CYCYN$,>*
M@Q8(6 Z'1F<SV'0A0[:T$A6]?AF@. A3W;,A:+02T\FEVIV^(.+I^?5U6#4X
MP2&E!Y;H0;PXBELB\&-$@MDZRE=W%@%E&R4%T?9A>_W('>B8D[@C[')DA4RH
M*(AL=IMI_8EWI^Y#^0[#4E&6#"CYZ?EDVLD[1+DR-C(/">L$V8L+ATFK@I%
MKB0:\B-&ARIL6;G+J[@8"'M1YAM9+0Z2L+>*.MH?<W:I66D59^H%<"(W1W^9
M* EU2!J49N!TE3!O/]PJ5T[0G>M#_BCI9^<.&Q\S\-GEV>CR?*8GK2S&PFP6
M'VZDX;X=5>0@Q:&IL^K#/S#VV31F[%^P/$4NY@2 =/&Z5'::N$!#_=T4+6IZ
M^& ^8@OG])UWUV6;T4,L[_%Y\1). !=?,J<?-,37:N#&<+J5B1[695D)M'OA
M4R2:/%?<3Y*_MX 7VNHM<]VOROEX3/WR2 G#ZV -$9EFX*>D39 8L//U]70T
MFTZ'M"1&P8>U[^BD)KV83"]BZHQ4R<GC!+I]C(@_GQZ+^(O9XT3\:0SW"_<^
M@3Z[/BG03RX_),I?3O]3HCQ#9&7_<J%^&LG]XOPBB/.(EZ>]3!!]_Q@^.#0>
M+Z^N1F@R_)N8 @3>RU/FY>@A]N4HV'''%M<Q\ ^UKV*HB%4[V4[<^=CBH\1Q
M5)S89_)WPFI2IJ?/G[Z5CMTY=/,>%O; >A ^G5S.60P)WAXG6L"3"#PHDF7:
M*UE."I8APOTZPW%^-CLM: :V&Y U%[/_F*QYI(3QP:N#!@ZLR:WK-G:Y!"6'
M=WS,-^=7!^[BP]CF? +&=LPV1]1^Q#RG*?N0O>Z1I$-4U2=,YZ'0CQ%'"1="
MMX>6$SYBZ[S+G<FX].$91Z_)TJ-J5U\R>C4*WN'"N^VC9#;];UV'BTC\.1YV
M@F=/YR\O/$$^YQ.U-9,YM7#Y')X4IP=P1[@SQ^&>SN>7@:QW?/D8$N20=FRM
MP:T6J=LB\7+J5:-[6EX)&U.^$>YSP*KNO5(ES"';>CZ_!M?XO&M9=R!\E%E]
MV=$R;T(O6+.S.3#FAKL6.>'7<X[YV<O1U?7\Q'D.;/"0#D&N)A$36[A/KZ9!
M7MUG6/=O^/5V]=5YUQ \,*Q[PN/3OW"+YY<O1V?3RR'_Z''W>#'["_<()YE?
M7H_FY]-_S3U>SZZB>WS#T5"LZZ Z#LRLX274(.YSEK<<5D]9X?.9,+]09$;J
MX:-N*M4/]TLWAAX07UDIACMZIWM"ATU(E.E.<ZP(H;8!D&G== N<<8L.-^<I
M:5--F5=Q@D0K=4*[']7T4M)2A05WGE,&7@U,*LV%?P'0&A FK+(JDYN-W<HI
MGTN/NP8+D?+]>&RNOX+;SRA#%4?K8R$. )Y BY0 ;LH["6&<OL22\ORA#>B!
M]TE"DD,F42OJ$JQI+K9$!.CYNR<-N> =UOT!FL>$9@24*BGIZ<[9"=,BL0MZ
M#>XKW#4(;KU2+]?[$<.=(5HN6[>+/WT7V%BZQ]B2.'GAOGR0C+IN#>%LZO7E
M+9H6<J?:CL64+EITDOP8^DFCK>OX<Q<4LS0 L?#@ B%MZ?25+0!';?-<*X$:
MJLC0I]@F+D-!A.EFY;%YJ*+(5H=MM99B8ZI/:+!0;0<HTD@WQXAC%/T^T"Y[
MJE6ZLJ%_3XI>D1 IF%'!I17C\ 'G6:*RA!.+GEI0FFTP:4W-L]P6CE85%:0P
M*J,#$"UPR6U? [<T55#=ZZ.AZCG9(R"C8BG3Z6[%\H.&V;CN%!2&!%9CTW7A
M/K=::[8Q8$GB(PUW7W=KS>7JX[Y6/%(H, )CTVX1MK #]R>46%TO*;:HUL 5
M6U"8P>!C?,3'XMIGP_)T#%BKDC7\QX!>WA^1E_\&N8/:K_YI.QO!'KUG/PW
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
MY8;^B;D 6^$#\/VR!(-)_L -_$])_O#_4$L#!!0    ( &! <53&C5<7F@0
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
MG?:G4#^PJG GOZ6R>(YTCQL\N'-- OA^I93=#<A _5/ Q3]02P,$%     @
M8$!Q5*S?S1@U P  'P<  !D   !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL
MG55-;]LX$/TK R$'&U"B3[MJ8!NPFRVVAP)!TMT>%CW0XM@B2I$N25E)?_T.
M*5OK DVZZ$7\FGGSWG X6O3:?+4-HH.G5BJ[C!KG#K=)8NL&6V9O] $5G>RT
M:9FCI=DG]F"0\>#4RB1/TWG2,J&BU2+LW9O50G=."H7W!FS7MLP\;U#J?AEE
MT7GC0>P;YS>2U>+ ]OB([J_#O:%5,J)PT:*R0BLPN%M&Z^QV4WK[8/"WP-Y>
MS,$KV6K]U2\^\&64>D(HL78>@=%PQ'<HI0<B&M].F-$8TCM>SL_H[X-VTK)E
M%M]I^5EPURRC*@*..]9)]Z#[/_&D9^;Q:BUM^$(_V!9%!'5GG6Y/SL2@%6H8
MV=,I#Q<.5?J"0WYRR /O(5!@><<<6RV,[L%X:T+SDR U>!,YH?RE/#I#IX+\
MW.J#.J)RV@BT<#F??&);B7:Z2!Q%\;9)?4+<#(CY"XA9#A^U<HV%/Q1'_B-
M0O1&COF9XR9_%?$.ZQLHLACR-,]>P2M&S47 *WZA^1GNA*VEMIU!^&>]M<Y0
MD7QY)4(Y1BA#A/*%"(_T=G@G$?1NS.KSSU+Y.LSEA3#B:!USR($Y< T"O2<T
M/@)M*\X,AUI;!Y.^$74#[' P^DE0W7KGVG5,#N<<'1JJ) +JK%#[@+43QKIK
MH>+3C)[O8-VB:S2?@C:@J$70NY?BNR\-.#+9(5!D,J0W:IWU7 *8EL3-0T^$
MHAW=63*STUM8.Z#+Q'9+Q,\7ZC\I/+ >/%<CF+1P!45<53F->3Q_.X/W0@FJ
M<0Y[K;F%-W%:E#"+JY(<T:(Y^J &\*E&:V/06ZLER8P#/4MDKEM]](3$98D7
M<3I+IS#)X^IM.;TL_SB(O:) U7Q.XRR>EQE\^D&;H+2"H>4UA>Y]^D_RS<#(
M_@ZE_YVO#>Z%4MY_RR13-1++LY K+VV655-8U[7Q%S_)JVP*]*%T\6[HAYQN
MSVD@6GSD\ Q9/H.B+,YI_1T15V-F1TH_>U+)1=-JT>Q#:[943)UR0_\:=\?N
MOQZ:WG_FPZ_C(S.4#0L2=^2:WKR916"&=CPLG#Z$%KC5CAIJF#;T!T/C#>A\
MI[4[+WR \9^X^A=02P,$%     @ 8$!Q5+I:([EI P  A <  !D   !X;"]W
M;W)K<VAE971S+W-H965T,S(N>&ULA57;;MLX$/V5@;98Q( 377V)US:0I UV
M@18PDB;[L-@'6AI91"E2):DX^?L.*5EUBC@%;%[GG+ERM-PK_<U4B!:>:R'-
M*JBL;19A:/(*:V8N5(.2;DJE:V9IJW>A:32RPH-J$291- UKQF6P7OJSC5XO
M56L%E[C18-JZ9OKE&H7:KX(X.!S<\5UEW4&X7C9LA_=H'YJ-IETXL!2\1FFX
MDJ"Q7 57\>(Z<_)>X)'CWARMP7FR5>J;V_Q3K(+(&80"<^L8&$U/>(-"."(R
MXWO/&0PJ'?!X?6"_];Z3+UMF\$:)?WEAJU4P#Z# DK7"WJG]W]C[,W%\N1+&
MC[#O9#/2F+?&JKH'T[[FLIO9<Q^'(\ \.@%(>D#B[>X4>2L_,LO62ZWVH)TT
ML;F%=]6CR3@N75+NK:9;3CB[WFC*K[8OP&0!G[ZWO*&(6SC[RK8"S6@96E+B
M1,.\)[SN"),3A'$"7Y2TE8%/LL#B-4%(U@TF)@<3KY-W&3]B?@%I/(8D2N)W
M^-+!Y=3SI;]Q>0P;P<C7UY[_=[4U5E.Q_/^.JFQ0E7E5V0E5]_2&BE8@J!+>
MCO1; 7Z7T[W2A6E8CJN GJ%!_83!ZS3BX S3",8RBP4P"[DRG;<%$C+G_KPU
M7.[ 5DY0,U?#YTXCU&@K58!Z0NUOT5A>]P@L6P&"7I-QCKE;C:+38@Q:XY7D
MBEXN*>PE2B6H 3A=9US2B6H-29G1 JXL4(JQWI*F0YK=$!W7XZ"T1$CA'.()
MO"#39@0?(!ZGT=S/R3R&KTH)K^88DA!D0*3S#)(L@D>L>$Y5_EIT$)NGD,W@
MMM62VY8"Z9PJ^;-;GX1,(4YG<*/JIK7DCE&EW;LD_&)_+QZ/X\N,QF@R@\](
MO:52H@!>-YK"[OPF/3XSE=*.CD)YS*,T"(?R.V*;7OK_+9=,YMC?:9]259X3
MLDL/F>A^#X\4DSNU5?:4-W$T@3__F"=Q\A>Y)*D^VJZ54@+)Q!W%P1#3!&(*
MYJD*[,LN'6>S&8T1Q?XSX1;4C_.V;KNR&0K2L9\EXWF4C-P\G6:C$\QCD.3*
M!YC.)C1F5"UOO=?PJ#/6J'>^_QLRJ96V:Y+#Z?")N>HZZT_Q[OOTA>D=EX;"
M6A(TNIA-@BZXAXU5C>^S%%'JVGY9T6<2M1.@^U(I>]@X!<.'=_T#4$L#!!0
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
M10ST3NXU&-I)GMFU*Z62]]S5$)4P\-JVJ?'F@H[(2C.1ZNX4B.=.Y!&9 K1
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
M^'Y?Z^>'Q>W]Y>W'7^%J=;VXOE@M/L)R<;^ DX?KQ<-R=7^Y', )L$JVM='
M*<RE;#6K"^T#ON38&&B0GF_)R.&=V,"1#5>R5::$^Y*K NXPEW5!@)4V<$UY
M1#.Z(O #1'X2I*X?)U/7!^/$]5D\AA^5U!H:)3?<0#B90IK%$$]C2-/8J1%V
M_\0*AX0T],,D&-AY,H[=/$NBP:N@Q9K+JJ) ]9"-47S=&GMA[17>;1J9/Y52
M%*A(.SUHG@,Y#047K<%B<$H 3X)A2K;<((KZ03KM!TDZ@"_NM6,![!D5):_.
MIH96TQIQ2<::UO#Z$>JC -\P#JD?TT-)_6"20>)'80BQG]$*L1Y\)^LQL9U1
MG_K3+''S.$Z[]4G\-];])$ZHC<>9;9.8VB".G#I>$U@":;$/($M=!#)R_20A
M21N)- D';XC^IT!\@(Z,$"S_P3 (.Z[CU)$>#N.L9S^<_(]&>]Z_T^R_"_H_
M (S(Y+GS.?:3J8US'$RH#:<1M3;^RQX<\1V,W]@/*3O1KY9+55"F0/HX[.60
M#:F,L@"\2Z9J J/AAFS?6:,>^(?02J9AC4A*A) YL[:(J1T[E(T. 6MW41M*
M3SSG#7-N:LQ;Q0U'FS]RT19VD6J##2I%R@[.;9E2C!*(WP,F0?%M"'N(KYFF
MZ+*L97DMGQ&(4,'_Z"Q8T,<":P_OH+,-Y5#*9UQ3W?"UY19,[R,E\B%Q?]=!
MHRI%&\)G<5.B)^S<MDA=H8D?LN\((EGC^+%"ID0(/]#H0TH;=!4T=O<*="/H
M5>%F@Z[6@)_;FD2['RH8OO55C Y^[@K5HZM/-#E%V;;[Q/>K^Q)HT?W\K^)=
M_?2)J4=>:Q"XH:/!<)QZH+J:I)L8V;@Z8"T-515N6%(9A\H*T/Y&2K.;6 /[
MPG#^)U!+ P04    " !@0'%4F=/T05,"  !M!0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970S."YX;6R-5$UOVD 0_2LCJX=&2K$Q)(TBL)001>VA"0IJ>ZAZ
M&.P!KUCONKMK2//K.[MV+%)!"P>\,SOOS7O[-=EIL[$ED8/G2BH[C4KGZNLX
MMGE)%=J!KDGQS$J;"AV'9AW;VA 6 53).$V2R[A"H:)L$G)SDTUTXZ10-#=@
MFZI"\_N6I-Y-HV'TFG@2Z]+Y1)Q-:ES3@MS7>FXXBGN60E2DK- *#*VFT<WP
M>C;V]:'@FZ"=W1N#=[+4>N.#S\4T2KP@DI0[SX#\V=*,I/1$+.-7QQGU+3UP
M?_S*?A^\LY<E6III^5T4KIQ&5Q$4M,)&NB>]^T2=GPO/EVMIPS_LNMHD@KRQ
M3E<=F!540K5??.[680\P'!\!I!T@/14PZ@"C8+15%FS=H<-L8O0.C*]F-C\(
M:Q/0[$8HOXL+9WA6,,YE#^@:0Z!7\%B30;^T%C[  QH?; G>WY%#(>T99]]!
M#+9$0W82.V[N*>*\:W3;-DJ/-+JC? "CX3FD23H\ )^=#D_>PF.VW/M.>]]I
MX!L=X7LT:U3B)1@^AQF[UE(4V!XM5<"<39)R;8)7YUXH5+E "0M.$I]C9^''
MS=(ZPR?QYS\4C7I%HZ!H?$313%<5]^(=SS?G4*.!+<J&-T H*+24:"SP%K4;
M<'9H UK^J\#O;^\V2P9)DO!J;_<7^K]E;^2/>_GCD^4#-J[41KQ0$>2W9^:@
MYI;T<D_,1=+^_E)]0F&K.]Z[#/XA^H)F+?A02UHQ-!E\O(C M)>[#9RNP_U8
M:L>W+0Q+?@_)^ *>7VGM7@-_Y?H7-OL#4$L#!!0    ( &! <516"X.Z;0(
M &\&   9    >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;(U576^;,!3]*Q;J
M0RMMX3,?K0A2&C9M#Y.B9-T>ICTX< E6C9W:)NG^_6Q#6-*0+B]P;9]S[SG7
MQL1[+IYE":#0:T69G#JE4ML'UY59"166 [X%IE<*+BJL]%!L7+D5@'-+JJ@;
M>-[(K3!A3A+;N85(8EXK2A@L!))U56'QYQ$HWT\=WSE,+,FF5&;"3>(MWL *
MU--V(?3([;+DI (F"6=(0#%U9OY#.C1X"_A!8"^/8F2<K#E_-H.O^=3QC""@
MD"F3 >O7#N9 J4FD9;RT.9VNI"$>QX?LGZUW[66-)<PY_4ER54Z=B8-R*'!-
MU9+OOT#KQPK,.)7VB?8MUG-05DO%JY:L%52$-6_\VO;AB.!'%PA!2PBN)80M
M(;R6$+6$R':FL6+[D&*%DUCP/1(&K;.9P#;3LK5]PLRVKY30JT3S5+)JMAOQ
M JW(AI&"9)@I-,LR7C-%V 8M."49 8D^HCF6)<(L;X)/+S7980I,272;@L*$
MRCN->EJEZ/;F#MT@PM#WDM=24V3L*BW7%'6S5MIC(RVX("V%;(!"_P,*O,#O
MH<^OIWL]]/1JNG]_2G=UC[M&!UVC YLOO)"OKZ._9FNIA#[ZO]\I$'8%0EL@
MNE# [$E?DQO6V++,);!+@M$DB-W=<2O/0?XD''6@$T%1)RCZKR![6C(3P+_3
MTJ>R235Z7V4/R!]/3D%I=&9E=!_T.QEV3H;O.EF"WB:2*6B]E$!S<[BY*D$@
M+"7TFQJ>2?'>.#I'A-%;L>[1UVVNXF]8; B3B$*A6=Y@K).(YGIK!HIO[0>_
MYDI?'S8L]1\!A 'H]8)S=1B8.Z3[QR1_ 5!+ P04    " !@0'%4?<24QG@"
M  #W!0  &0   'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6R-5-MNVS ,_17!
MZ$,*K/$EEPV%8R"7#>M#@:!!MX=A#XI-VT)E*9.4I/W[49+C)6T2[,46:9[#
M0]%DNI?J1=< AKPV7.A)4!NSN0]#G=?04-V7&Q#XI92JH09-585ZHX 6#M3P
M,(FB<=A0)H(L=;ZERE*Y-9P)6"JBMTU#U=L,N-Q/@C@X.)Y851OK"+-T0RM8
M@7G>+!5:8<=2L :$9E(0!>4DF,;W\Y&-=P$_&.SUT9G82M92OECCH9@$D14$
M'')C&2B^=C 'SBT1ROC3<@9=2@L\/A_8O[G:L98UU3"7_"<K3#T)O@2D@))N
MN7F2^^_0UN,$YI)K]R3[-C8*2+[51C8M&!4T3/@W?6WOX0@0CR\ DA:0O <,
M+P &+6#@"O7*7%D+:FB6*KDGRD8CFSVXNW%HK(8)V\654?B5(<YD*]\](DNR
M8I5@)<NI,&2:YW(K#!,564K.<@::W)$'L0-AI+)6;P&&,JYOT?^\6I#>S2VY
M(4R01\8Y-DBGH4%]-DN8MUIF7DMR04N<D$<I3*W)5U% <4H08F%==<FANEER
ME7$!>9\,XD\DB9+XC*#Y_\.C*W(&W64/'-_@ M^Y6_TU76NC\&_^?27!L$LP
M= F&%Q(\0;'UXX']K)34&COB>_9&..R GVV+)QTY4COVNRSI#]-P=WQ3'V/N
MXG[2!9W('75R1U?E/H@<-X\&TBO GVZM<'C-X42Y @UJ!V>UCS[HBHYD>>WG
M8L;OI(=',]2 JMQJT<0US/]PG;?;7E,WM._\,]QJ?@G]H_$K\9&JB@F-C2B1
M,NI_1D7*KQEO&+EQD[J6!N?>'6O<S*!L 'XOI30'PR;H=GWV%U!+ P04
M" !@0'%4$TI79 H"  !^!   &0   'AL+W=O<FMS:&5E=',O<VAE970T,2YX
M;6Q]5$V/VC 0_2NCG%JI)1^PN]4J1(*E57M8"8':'JH>3#))K/4'M8?-\N]K
M.R&E$G!)/.-Y[\TXS\D[;5YLBTCP)H6R\Z@EVC_&L2U;E,Q.]!Z5VZFUD8Q<
M:)K8[@VR*H"DB+,DN8\EXRHJ\I!;FR+7!Q)<X=J /4C)S'&)0G?S*(U.B0UO
M6O*)N,CWK,$MTO?]VK@H'EDJ+E%9KA48K.?1(GU<SGQ]*/C!L;-G:_"3[+1^
M\<&W:AXEOB$46))G8.[UBD\HA"=R;?P9.*-1T@//UR?V+V%V-\N.67S2XB>O
MJ)U'GR*HL&8'01O=?<5AGCO/5VIAPQ.ZOO;A+H+R8$G+ >PZD%SU;_8VG,,9
M(+V_ L@&0!;Z[H5"ERM&K,B-[L#X:L?F%V'4@';-<>4_RI:,V^4.1\6V_QB@
M:]CR1O&:ETP1+,I2'Q1QU<!:"UYRM/#QE+6PP1+Y*]L)A'<K),:%?9_'Y/KQ
MK'$Y:"][[>R*=IK!LU;46OBL*JS^)XC=(.,TV6F:97:3<87E!*;I!\B2++W!
M-QU/9QKXIE?X+AW#K\7.DG%N^GU#8#8*S(+ [(K FAV=PPD(C;273O V?)I
MQ8[V4B/QF2<DFB8XWT*8I[?'F!TOUZ+WU+_R_F8^,]-P94%@[:#)Q'O9]&[O
M ]+[X+"=)N?7L&S=#P*-+W#[M=9T"KS ^,LI_@)02P,$%     @ 8$!Q5(15
MIDZ2"   MS$  !D   !X;"]W;W)K<VAE971S+W-H965T-#(N>&ULO5MM;]LX
M$OXKA+$'M$ W%E]$28LD0!O;L1=[O6!SO7XXW =%IF.ALN2EZ*0%]L<?)3&F
M9(F4[,3]DLCRS' X))]GAJ0OGS/^+5\S)L#W39+F5Z.U$-O?QN,\6K--F%]D
M6Y;*;U89WX1"?N2/XWS+6;@LE3;)&#D.'6_".!U=7Y;O[OCU9;8329RR.P[R
MW683\A^?6)(]7XW@Z.7%G_'C6A0OQM>7V_"1W3/Q97O'Y:?QWLHRWK TC[,4
M<+:Z&GV$ORT\7"B4$O^)V7->>P9%5QZR[%OQ8;&\&CF%1RQAD2A,A/+?$[MA
M25)8DG[\I8R.]FT6BO7G%^NSLO.R,P]ASFZRY&N\%.NKD3\"2[8*=XGX,WN>
M,]4AM[ 794E>_@7/2M89@6B7BVRCE*4'FSBM_H??52!J"I 8%)!20$,5L%+
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
MC,+"?EN4&?F$@R8HLX/TO+K,&[&%=L5[F_EOZ@0L<*SUZC_FVV@D'+65;R.
M\*8)=;*##.K4"1FU1':AFU,A.5UO)>/@D8''B("G[JH+ON'=:\,;'QG)1+ E
M(I#10X0:V/@U(%ZE5M48HE$=@T9TD5WVEF2C(E!O]QE+%"<^59=?\X^>_-"_
M))*SD,K\88;3QBDUBHIZ;5%J]!+9CZ174FH'@75:AHRV(KLLOJDM4U>*C+6:
M&X#O5$9@I>5-35A%-%MO:1PT)7W(R"X:MD6/D5=D/X->28\=Q+M0.$7%V0W[
MM;P:#4=V^:W2S+GZ6.,R43&J,YP:A205I.&*\XRR>VY+E'I&J#W[V?8Z2FM
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
M[ *\'TMI#@-[6*^_YJ9_ U!+ P04    " !@0'%43MZJ8T$"   T!0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T."YX;6R-5$UOVS ,_2N"T4,+;)'MN-U0
M. ;RT6$[! @:=#L,.R@V;0N5)4]2XNS?5Q^.YQ5)L(LM4GR/CZ*HM!/R5=4
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
M40;R?42IV-RH0X[JX'?T'U!+ P04    " !@0'%4? )K:28#  !R"@  &0
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
M-/E_>'1%3J^M9<_Q]?Y1RU<R93KG4M<*R,_14AN%K_77E0C]-D+?1>A?B+"
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
MXD3Q=;Z1IQ]LQ>/\<,7HG(FL@?Y]P;EZ/\D&J/:")_\!4$L#!!0    ( &!
M<53,R0IA%P,  ( )   9    >&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;(V6
MWV_:,!#'_Q4KVD,K0?,3$BI :J'3-FD:@G9[F/9@DH-83>S,=J#=7S_;23-*
M N,%[.2^=Q^?[;N,]XP_BQ1 HI<\HV)BI5(6M[8MXA1R+&Y8 52]V3">8ZFF
M?&N+@@-.C"C/;,]QAG:.";6F8_-LP:=C5LJ,4%AP),H\Q_SU'C*VGUBN]?9@
M2;:IU _LZ;C 6UB!?"H67,WLQDM"<J"",(HX;";6G7L[=QTM,!;?">S%P1CI
MI:P9>]:3S\G$<C019!!+[0*KOQW,(,NT)\7QNW9J-3&U\'#\YOVC6;Q:S!H+
MF+'L!TED.K$B"R6PP64FEVS_">H%#;2_F&7"_*)]91N&%HI+(5E>BQ5!3FCU
MCU_J1!P(W."$P*L%WJ4"OQ;XEPJ"6A"8S%1+,7F88XFG8\[VB&MKY4T/3#*-
M6BV?4+WO*\G56Z)T<KK@4&"2H(<7=9($"(1I@K[)%#B:E9P#E>A.") "7<U!
M8I*):]1'3ZLYNOIPC3X@0M%CRDJA9&)L2T6D_=IQ'?V^BNZ=B#Z'^ ;Y;@]Y
MCN=VR&?GY5]*JN3.2?G\\NC.>[FMTMCDTFMRZ1E__DE_&U I2]","2EZ:(8+
M(G%&_D#20W6B>P<)KA,[)R+.F"@YH)]W:R&YN@N_SN#X#8YO<(+_;"VARC>F
M,73M3^4B-"YTC=A-75^E<G>8Q0X;;]C8O&,+&K;@(C:HCUT76N5A>!#6&_A'
M:!TVOM^--FC0!A>AZ;/?A35HA0R#(ZJV2>1T0PT;J.%9J%7*N.Q+X+DJ:@43
M1)V;/J*,]@G=*5#&7[M8ART0-SIB;9N<0 T;U/ LZA+4$2:Q5/<@QB+MP@K/
MQ*RHVA9^X'5S10U7=);K8?DX0YOR1)V*6@&#8/ >:A:U[D'+9M[V<R*=HP9[
M=!;;E(HNXE$[14<L;0NWF\5U_G4+YRS-(U,%#17U%=&EC)E2%M>] IN2UMD(
MG%;V1M[QQ>DP"J/C?;</NIW^-OF*^5;5.)3!1JF<FU!=/UZU^VHB66$:X)I)
MU4[-,%6?2,"U@7J_84R^371/;3ZZIG\!4$L#!!0    ( &! <52H&E:#F08
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
M=L#O6XF34#3L;:B\+B__ 5!+ P04    " !@0'%4='^8P>X"  !V"0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6RU5FUOVC 0_BM6M$FMU)$7"($*
MD"C92Z5.0F7=/DS[8)(#K"8VLYW2_ON=G31E)41H6K^ S[GGN><NOG-&.R'O
MU09 D\<\XVKL;+3>7KJN2C:04]416^#X9"5D3C6:<NVJK02:6E">N8'G]=V<
M,NY,1G9O+B<C4>B,<9A+HHH\I_+I"C*Q&SN^\[QQR]8;;3;<R6A+U[  ?;>=
M2[3<FB5E.7#%!"<25F-GZE_&?F  UN,[@YW:6Q.3RE*(>V-<IV/',XH@@T0;
M"HI_#S"#+#-,J.-W1>K4,0UP?_W,_LDFC\DLJ8*9R'ZP5&_&SL A*:QHD>E;
ML?L"54*AX4M$INPOV96^(49,"J5%7H'1SADO_^EC58@]@-\[ @@J0' JH%L!
MNJ<">A6@9RM3IF+K$%--)R,I=D0:;V0S"UM,B\;T&3?O?:$E/F6(TY,8EII\
M(//YG-P(RLE9#)JR3)WCYMTB)F?OSLD[PCCYMA&%HCQ5(U=C7(-VDRK&51DC
M.!)CNI4=XD<7)/ "KP$^:X?'D'1(U[=POP$>GPY_%=W%8M45"^J*!9:OVU:Q
M:ZZT+/#\:_+S!AW(M89<_6JA[];T74O?.T)OWD2&;Z*I3B4RLDC3T \33.AA
MOQ2''F$PK'W^$M2K!?5.$G1!.(XAL<)3*:5)')NND$PS:#H2LY*TWZ+UT"/H
M]YNUAK76L%7K9QQT!*<)SL,UCA,.2AG%;34-#U0,//^5TD,?KUEGO];9;Z\I
M?<(!GMR3N12ZFH"X7$N:D]GT]N."3!/=<IBB.D[T%F=U4-,/VM.0(@%(%5E)
MD=L*$R'9FG%J,FH:%(.#\QD-P^9:#FL1PU81"TTUI#BB-$A0FD@TFT*WL_@=
MSWO?4A+?>QFHWK\V<%Q!^Z?TI[\WPOTWZ-"X8HU.:4#_93KZP?]NP8HQ.M*#
MI1!W[XXS7R1?*?)S13)8(<KK1-BDLKSD2T.+K;WVED+C)6J7&_PP FD<\/E*
M8.M5AKE)ZT^MR1]02P,$%     @ 8$!Q5# *S7%6 P  F0L  !D   !X;"]W
M;W)K<VAE971S+W-H965T-C8N>&ULM591;],P$/XK5@32D*")TZ;M4%N)M3"&
M8$R;QAX0#VYR:2T2.[/==OQ[;"=+.^:8/D ?&MOQ]]WGN_/E)CLN?LHU@$(/
M9<'D-%@K5;T-0YFNH22RQRM@^DW.14F4GHI5*"L!)+.@L@CC*!J&):$LF$WL
MVI683?A&%93!E4!R4Y9$_#J#@N^F 0X>%Z[I:JW,0CB;5&0%-Z!NJRNA9V'+
MDM$2F*2<(0'Y-'B'WY[C@0'8'=\H[.3!&)FC+#G_:287V32(C"(H(%6&@NC'
M%N90%(9)Z[AO2(/6I@$>CA_9/]C#Z\,LB80Y+^YHIM;38!R@#'*R*=0UWWV$
MYD")X4MY(>T_VM5[DU& THU4O&S 6D%)6?TD#XTC#@#ZH&Y W #B8P']!M _
M%C!H (-C 4D#2(X%#!O \%C J &,;+!J[]K0+(@BLXG@.R3,;LUF!C:^%JTC
M0IE)Q1LE]%NJ<6JV@*5";]!%04F&+KD"=+( 16@A7^GEVYL%.GGQ:A(J;<H
MPK2A/:MIXT[:M(<B_!K%41PYX',__))O>RA.#!R?.N +/_Q=)7JH'UGKV %_
M[X=_(DS#N\5_..+L#=QE_?QX^!_60QW<-L)Q&^'8\O5]$;Y@4HF-+B$*??^L
M-Z +!:7\X:'OM_1]2S_HH+\2/ 7(),H%+Q&5<D-8"JZ8U3PCRV,JY':&D\C\
M)N'6(6#0"ACX!8!(S;FJ1R&*HR6@BM#,##\#RT"XDL!/BZ->%+WT."AI]25^
M?>27\;M$NO"J-1Q<-5=J)<^<M'=/G3W/=^!^-.QTX["5.?3*[)+UA&S4DHW^
M1\Z-6_KQ7W*.LI16I$"DY!NF7 5F[')3=[:=MJ9/O::_"KJB3%LVF0XHHS+M
M4E 3#0\5#.). 3C:5^SHW]RX>4/T1 +V. $??#6P5X,-\*-IE'*II%, =M_Y
M#O/[DH9CK_EKJ-I;E>O.8^D*P%E#<FB][SG\ON)A?\F[$U1_)WF>&^,"3,-'
MV4J/"J(@LW(089ENL^XW5%+;<AD7.34ZJB(>=8O<5T7LKU\WRHJA3($ J9 @
MSH(S_PO-N*L*A@<]AVE:OQ"A+X9$!>2:*.J-=)T2=1]83Q2O;!NRY$HW-7:X
MUKTS"+-!O\^YKCW-Q'0V;3<^^PU02P,$%     @ 8$!Q5)V:P;&)!0  N1@
M !D   !X;"]W;W)K<VAE971S+W-H965T-C<N>&ULM5EM;]LV$/XKA-<-S=!:
M(N77+#'0V,WJ8BV"!MT^%/U R^=(J"1Z).6TPW[\CA(KR;8L*5B=#[)$WG.\
M-]X=F:M'(;^H $"3KW&4J.M>H/7VTG&4'T#,55]L(<&9C9 QU_@I'QRUE<#7
M&2B.'.:Z(R?F8=*;765C=W)V)5(=A0G<2:+2..;RVPU$XO&Z1WO?!SZ$#X$V
M \[L:LL?X![TQ^V=Q"^GX+(.8TA4*!(B87/=>T4OEQXS@(SBSQ >5>6=&%56
M0GPQ'\OU=<\U$D$$OC8L./[L8 Y19#BA''];IKUB30.LOG_G?ILIC\JLN(*Y
MB/X*USJX[DUZ9 T;GD;Z@WA\ U:AH>'GBTAE3_)H:=T>\5.E16S!*$$<)ODO
M_VH-T07 +( = .C@!,"S *\K8& !@ZZ H04,NP)&%C#J"AA;P+@K8&(!DZZ
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
M1FP !2KRM5';#YR#FG/P_\B9RUK0Y4DCERP]#L@9UJVRFITW5:V2L7\8CV%
M@Q9W#VLEPY]08@ML#JJ4TZBF9!T>1OXBZ#5KH<'^I1#\J[N4IRPJHX/- _Y:
ME9C0&+KFPAX<Y6.WS4'TX$U%7RU*0<H,9H>1!!YM'N&KQPI5L.;:@,*EF"ML
M1M"GU96T]RR2(BJ4LB;DBF^08F]:HR'T*-B]EA)!P[T=X2\M5+.*[U %';:H
MV)=OVOG/2U5UY ]Q'[3%?5_7Z>G"_@ELM&0$$&.0E<R(;KHL+XB;T>-ZW^T=
M9:5_T$IEH-:NA]5X$H:L?#G6LW6?/'7=X;/Y&;V:TX;YA>VK7>NVIR^;\H],
MK;G0)(45'A5<#+"JJ[+/+0=&YJZ1NY<&VT+WF."W 2B[ ==74IK=P!Y0?VU,
MO@-02P,$%     @ 8$!Q5+4U0,R7!0  2AH  !D   !X;"]W;W)K<VAE971S
M+W-H965T-S(N>&ULS5EM;]LV$/XKA-=MZ9#8(B7Y)7,,-':3M6B'H$&W#T4_
MT!)M"Y%$E:3L9MB/WY%6)-F6)05= /N#+9%WQ[M[R.=H<KSAXD&N&%/H>Q3&
M\JJS4BJY[/6DMV(1E5V>L!AZ%EQ$5,&K6/9D(ACUC5(4]HAE]7L1#>+.9&S:
M[L1DS%,5!C&[$TBF443%XS4+^>:J@SM/#9^"Y4KIAMYDG- ENV?J<W(GX*V7
M6_&#B,4RX#$2;''5>8,O;VU7*QB)OP*VD:5GI$.9<_Z@7][Y5QU+>\1"YBEM
M@L+/FDU9&&I+X,>WS&@G'U,KEI^?K-^8X"&8.95LRL._ U^MKCK##O+9@J:A
M^L0W?[ L(..@QT-IOM$FD[4ZR$NEXE&F#!Y$0;S]I=^S1+11()D"V5/ SA$%
M.U.PVRHXF8+35L'-%-RV"OU,H=]689 I# Q8V^P::&94T<E8\ T26AJLZ0>#
MK]$&1()83\5[): W #TUN5?<>UCQT&="_HK>?DL#]8@NT!U,""8$\Y$10&<S
MIF@0RM?0]_E^ALY>O4:O4 _)%15,HB!&G^- R7-HA.>/01C"/)/CG@(7]4 ]
M+W-GNG6''''G/8V["/?/$;&(5:$^JU>?,:^+;&S4<87ZV_;J5:/?M''>/:I^
M6Z_^D8HN(B.MCD>[ZCU -8>6Y- 28\\^!JW&YD*O4Q]->03D):E9_F^$H/&2
M :$H-']$9;D[^FB:WVRH\-&7#V 2O5,LDE]K'+)SAVSCD'/$H6)223.I:*I6
M7 3_0,,9S)KM7'I=A?K6;M_8U>2ZGKB6^8Q[ZS*\+>5NFN5V G3R )W: "'+
M$>371'>.$BK0FH8I,]'Y/ RID"AA8AMI9:!;^\.28U87W,)[<3:*[;COYNZ[
M]?@PX0'X4($07Z XC>;@*SRMN8(UKE94(4:]U=9]W9'L 9KQ"-+=8"A0(70I
M7D4#]9Y@W+4&/U<EZ/EZ.ZGHYZGH-R 9KYE0P3QD^UQ88WV06Q^<QLH<Y@X-
M7VAE#@]6DFU7K<R6<C?-<CL!CO( 1RT#;,(06T7EM$X#15PJYKC%M#7;1%B>
M7FD22^:E(E !+.0&1+,ARA#@ <&'D%8)8G(4*ES4+4S:T&@C4D7=P?:)(%54
M"MQ4*GX8J>N&(;[@KY7X.H=+S'$JX#V4(S7H%D4&UW-TF5IG;*[JTEG0->Z?
M",(%Q^-!;9Q_PO_(1'"/,5^BA> 15%"6(5V%NP^Y@&*Y7U0K]]#;D=WRRNL.
MCP!3U !<7P1*4S(1@?>,;<LTLSS:V9#T!T<\*D@;U[/V??;O0LJTL1)-,UL[
M\W5@C2Q\)#&D('IBO4QUO,T,[_A4M]$D!=.3)J;_P:WF-!N@::]YVRRW&T+I
M[TD3S>\2 ?KW&5LM4I _.1'R)P7YDQ<G_QDYI&=3IHF]Q^-5@AB[SK%E41 Y
M>1Z1 WXM*S<I>)V<"*^3@M=)/:__+^ -JFHPL=Q][ [E"+'Q,?8HJ)ZTH?JC
MT,'K36HBO*/B 7WX,*W+7$'G9'0:8-H%M=OUU%ZFT:<ZDR:F NYR?JEN-YU5
M''(^'CI#]PA?V@7EVVTV]W6@70M]\$8A7?>*"H7>QHH)J.62G:-WL=>M2UE!
MV_:I'"N5SI7J#Y9> L7#(R+LCFS7.8*BYO[=EH)'[7H>K=ZG7]=KZ2N*2YE0
MCUUU($K)Q)IU)K_\A/O6[_7?OV6[*IXJJ6CL!_$2+;C0>S[]S> '-JPKNF9H
MSIB^;P Q!2G40GH+BR_@Z<*%#IU+EJ56)F&@$%LLF+E<0.]3P!AG9ZF5,Z]7
M.K6.F%B:"PD)&*6QVAXJYJWYI<>UN1O8;[>=RQO;J>B!)$*/.8OO%4-L;UD^
M4K$,8HE"MH#AK.X \BVV%Q?;%\43<VX^YTKQR#RN&/69T +0O^!</;WH ?+K
MH\E_4$L#!!0    ( &! <51,792?=0(  %L&   9    >&PO=V]R:W-H965T
M<R]S:&5E=#<S+GAM;(U5;6_:,!#^*Z=HTEJI)4X"K*I"I!8V;94F547;/DS[
M8)*#6'7BU':@G?;CYY>0T0H8?$A\]CW//7<7'^E&R$=5(FIXKGBM)D&I=7,=
MABHOL:)J(!JLS<E2R(IJ8\I5J!J)M'"@BH<Q(>.PHJP.LM3MW<LL%:WFK,9[
M":JM*BI?;I&+S22(@NW& UN5VFZ$6=K0%<Y1?VONI;'"GJ5@%=:*B1HD+B?!
M370]&UE_Y_"=X4;MK,%FLA#BT1I?BDE K"#DF&O+0,UKC5/DW!(9&4\=9]"'
MM,#=]9;]D\O=Y+*@"J>"_V"%+B?!50 %+FG+]8/8?,8N'R<P%URY)VR\[]A$
MS%NE1=6!C5VQVK_I<U>''4 T/ "(.T#\!I"0 X"D R2G H8=8.@JXU-Q=9A1
M3;-4B@U(ZVW8[,(5TZ%-^JRV;9]K:4Z9P>ELKD7^6 I>H%3OX>-3R_0+7$)T
M:;ZHRQ$\X-H<(#@WF#><:3B;H::,J_,TU$:!Y0GS+MJMCQ8?B';7U@.(H@N(
M24SVP*?'X3/,!Y!X>/0.0E EE:C\<P_=['0Z<IPN-&7M:QOWM8T=?W* OZOF
MSYN%TM)\X+^.<"8]9^(XAP<XMPU1KB'*-412<X7V-<-31<1QV0&PSL@@3L/U
M'@'#7L#PJ("IJ"IS7UW\"VBHA#7E+<(9JZ$0G%.IH$'I:WD.?^!?8?<UW >[
M>J60$!+U(GTC_^OV*I=1G\OHY%R MKH4DOW&PN7B)=L$#HOW[.,=52/B?V_D
MG^#H$PAW;K(=NU^I7+%: <>E@9+!!\,D_2CSAA:-N]P+H<VH<,O23'^4UL&<
M+X706\/.B_[_)/L+4$L#!!0    ( &! <52D^H 2H 8  $<A   9    >&PO
M=V]R:W-H965T<R]S:&5E=#<T+GAM;,U:76_;-A3]*X2Q82G0VN*'):M( J1V
MDJ7HLJ!9UX=A#XQ,QT(ET27I. 'VXT=*LBE9$NU\=,M+(LF\EX?W7IYS:?EP
MQ<4W.6=,@?LTR>11;Z[4XOU@(*,Y2ZGL\P7+]"<S+E*J]*VX'<B%8'2:&Z7)
M 'F>/TAIG/6.#_-G5^+XD"]5$F?L2@"Y3%,J'CZPA*^.>K"W?O YOITK\V!P
M?+B@M^R:J2^+*Z'O!ALOTSAEF8QY!@2;'?5.X/MS$AB#?,2?,5O)RC4P2[GA
M_)NYN9@>]3R#B"4L4L8%U?_NV)@EB?&D<7POG?8V<QK#ZO7:^UF^>+V8&RK9
MF"=?XZF:'_5&/3!E,[I,U&>^^I65"QH:?Q%/9/X7K,JQ7@]$2ZEX6AIK!&F<
M%?_I?1F(B@$D'0:H-$#[&N#2 .]K0$H#LJ_!L#08[FO@EP;^O@9!:9!G?U!$
M-T_-A"IZ?"CX"@@S6GLS%WE^<VN=D3@SI7BMA/XTUG;J^%KQZ-N<)U,FY"_@
M]/LR5@_@'?A(LZ6N3( \Y*V?_CZ;,1%GM^!@PA2-$_E&#_QR/0$'/[T!/X$!
MD',JF 1Q!KYDL9)O]4-]_<><+R7-IO)PH#1@,^T@*L%]*,"A#G"7_*X/T/"M
MA@'#%O.QV_SC,NL#[!ES!%O,)SO,J3&'N;G78G[J-I^P:&/>-OO9\\S/]S??
M C_0);*I$[2I$Y3[PUUU8G+[SFSZ*1CS5#.AI#F7G A!LUNFV4F!FP=0'7=%
M'_+')RLJIN"O3]HEN% LE7\[ .$-()P#(AV 3E*^U+X7-)X"S<@@2AC-JW/&
M6%NI30IW0>[.$/3=,<(ZL'<M&,@& W%BV.R(B$LE"RPZ)&K.0"SEDF81 WRF
M/TU3_5B:K0;T3@ Z'CIHJ@WF&6G #/UP [-(?7/,$'KM2QENEC)T+N6*B<CD
M:B%XQ-A4 L7!#2N6I"\_L4PS1%M8W6ZAU_>\GQWI]C?X?#>^HI;D.KX724RG
MX)(KUA9$OQ$@;RN$Q0B_,@)BSV^/8;#!&#@Q?BW3"MB]CF9LML"!)L""%M^T
MX0P:*! .1B%JQS':X!BY8[7.X4SP-(_6&I"I1E?QC1IQ&WEP*W+-,2$<M0,.
M-X!#)^":VEQD4L5J:<B%)OKNCNF-(QPE!#VK==[K(#%8D5_H7/HU39H<<6!4
M=<%$43IME3,IW8:5-. ^#MKS "W+0^0NG:6(YGK=F@=B35ZF?*<\2:B0N_ 4
M?B&L[KF^CX8=B"S-0S?/7[-H*6(5Z\8BHDFB,Z(3M*[A'?MK4OJN;C!_-,)^
M!UE"2_S0S?RGZPU5Q*FRK1X3,_*8'%HFAV[.=?5NKIJU5 S]5[*-+/-"-_5>
M+M,;'>MJ'HP"[V3@4]A"P2@DD-19[VS/<><MXX@?=$H+M)P.W:2^W>\L$AH5
MD=8G1OW7$(A>LDY#:_<#F[0-0]P!RO(V=!-W%91@"54L[Q;8O:D)O6,-4,%N
M8ZF8T!]-8Z%/H#I+9=MD>J&(9WJ#BZ+WB.^T"[NTUH6$C0 /.[8SLL* O)=M
M)DM_=>7NZ":1%0/D%H,?T4^64W8UBT75[AA47T[ER. 6DY<@R=-RCCI)^L'6
M]MQKU'GKJ&%7VJQ$(;=$7;)*WYSW7+)-U7=D:H*:8H6PUY4%*U7(+57G@DNY
MA8\5JK NJE8TI(DFZ%!S9+4)N;7IT2WR>>FPAL,/$>F*BU4QM.-$\>0N&36/
M%\TVN6509Y^,K,XAM\Z=ZMXXS6FVGM J/3BA!TWHI&L#6&U";FUR?EOT3^=9
MK3Z;%1T4OH[V UO]P&[]>.KI^<,.OSN/S]AJ"W9KRZ,.T)/26;W=Z>AAL!4$
M[!:$]6$.?&TMT;K7RA=!^)74@^5<[.;<I[:C9[C)NG 4!'B[S6P91]#0[TR1
M)6CL)N@GGD?'I=NJM [[7H=>8$O2V$W2S^MZQ[A)PJ1+4;$E8>PFX?^^ZQWC
MYK&BJV_!EK;QXXX4N[K><>FO5IUA!PI+Y]A]AO@136\Y92WO04?>B65YXF;C
ME^GSQN4L-7##KJHDEN")F^!=(OP67)55=M5>9?4Y+:&35_)6@%@U(#N:\:=2
M+VFVWP3ZH^VCTLYA==R55PENR7CF^9ZT"$?7^9Y8-2!N-?@?SO<EHMI1M"NX
M5D:(6T:>]24B:;XK(",XZM V8F6$[.CE7^([Q'*.415</PS)%KA!Y0VQ^8G!
M;U3<QID$"9MI.Z\?Z*B+XJU]<:/X(G]I?,.5XFE^.6=4=[%F@/Y\QG7G6-Z8
M]]";WTX<_PM02P,$%     @ 8$!Q5-':)A"< P   0T  !D   !X;"]W;W)K
M<VAE971S+W-H965T-S4N>&ULS5==C]HX%/TK5K323J66? <8 =(,,-JIMEM4
MU/9AM0\FN1!K$IO:#LS\^[6=$ )#4M2J4E\@=NXY]R,GUS>C/>-/(@60Z#G/
MJ!A;J93;6]L6<0HY%CVV!:KNK!G/L51+OK'%E@-.#"C/;,]Q(CO'A%J3D=E;
M\,F(%3(C%!8<B2+/,7^YAXSMQY9K'38^D4TJ]88]&6WQ!I8@/V\77*WLFB4A
M.5!!&$4<UF/KSKU]< ,-,!9?".Q%XQKI5%:,/>G%8S*V'!T19!!+38'5WPZF
MD&6:2<7QK2*U:I\:V+P^L#^8Y%4R*RQ@RK*O))'IV!I8*($U+C+YB>W_@BJA
M4//%+!/F%^TK6\="<2$DRRNPBB GM/S'SU4A&@#%<QG@50#O'!"U /P*X)\#
M@A9 4 &":P%A!0BO!405(#*U+XME*CW#$D]&G.T1U]:*35^8QV70JL"$:F4M
M)5=WB<+)R5*R^"EE60)<_(GFWPHB7] []+&00F*:$+I!7S'GF$J!UISE2*:
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
MYUMI^8ED2[.3\\RD9*DY7% 24:X'J/LSQN3V1#^@W- <_ M02P,$%     @
M8$!Q5(RJT@D; P  -@H  !D   !X;"]W;W)K<VAE971S+W-H965T-S<N>&UL
MS59=;]HP%/TK5C1IK42;+PJE B0^.JW2*J'2;@_3'DQR(5:3.+4=:/?K=^V$
MD/(1[:$/?2&V<^_QN><$7_<W7#S+"$"1UR1.Y<"*E,IN;%L&$2147O(,4GRS
MY"*A"J=B9<M,  U-4A+;GN-T[(2RU!KVS=I,#/L\5S%+82:(S).$BK<QQ'PS
ML%QKN_# 5I'2"_:PG]$5S$$]93.!,[M""5D"J60\)0*6 VODWDQ<7R>8B)\,
M-K(V)KJ4!>?/>G(7#BQ',X(8 J4A*#[6,($XUDC(XZ4$M:H]=6)]O$7_9HK'
M8A94PH3'OUBHHH%U;9$0EC2/U0/??(>RH"N-%_!8FE^R*6,=BP2Y5#PIDY%!
MPM+B25]+(6H);N=$@E<F>/L)[1,)?IE@E+,+9J:L*55TV!=\0X2.1C0],-J8
M;*R&I=K&N1+XEF&>&LX5#YXC'H<@Y%=R^Y(S]48NR%V2H<"$+\D#2%1$$OQB
MB F^&*-J(9GP!#\E28T99U-0E,7R'%.?YE-R]N6<?"$L)8\1SR5-0]FW%;+5
M>]I!R6Q<,/-.,',]<L]3%4ERFX80O@>PL<RJ5F];Z]AK1)Q"<$E\MT4\QW./
M$)K\?[K30,>OI/<-GG]*^H@*N%@8-6?T#?\;BHR$H.D*]+A%;E^UPO@6!203
MFC%%8_87PA89)3S'Z-\_$)+<*4CDGP9"[8I0VQ!JGR#TR'$#(HW)!:V@9O(Q
M!PN\KL'3!\9ZV/9Z?7M=%_4PQO7=*N8=T:N*Z%4CT0F7YMN4- ;94'BGPNM\
M#B>Z%:'N!SM1X'5J*N_[<!CA'7?ANB)YW4AR)GB8XR$1PAJ[0::5:BB]5Z'V
M/H<7KK,[(IT/=J,$K(OMMO?\.!;C''?$K9WF;B/5.?9#EJY:9 4I"!JWC$HT
MQ,[!I!)4]\PF3;S=1MXGL6EWG+K^1]OD'YY?3F??I\,@U^WM&677.G "8F4N
M)A()8*5%@ZI6J\O/R+3\O?6QOA29SKZ#*6Y4]U2L6"I)#$N$="Z[>$:*XI)2
M3!3/3)]?<(6W!C.,\&('0@?@^R7G:CO1&U17Q>$_4$L#!!0    ( &! <53A
M?\[6,0,  &@)   9    >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM;)5676_:
M,!3]*U?1IJW2FH2D!*@ J4"K55HEU*K;P[0'DUR(52=.;0-EOWZV$S+:AK1]
M(?ZXY_B<:^SKX9:+!YDB*GC*6"Y'3JI4<>YY,DXQ(]+E!>9Z9LE%1I3NBI4G
M"X$DL:",>8'O1UY&:.Z,AW9L+L9#OE:,YC@7(-=91L1N@HQO1T['V0_<TE6J
MS( W'A9DA7>H[HNYT#VO9DEHAKFD/ >!RY%ST3F?#DR\#?A)<2L/VF"<+#A_
M,)WK9.3X1A RC)5A(/JSP2DR9HBTC,>*TZF7-,##]I[]RGK77A9$XI2S7S11
MZ<CI.Y#@DJR9NN7;[UCYZ1J^F#-I?V%;Q?H.Q&NI>%:!M8*,YN67/%5Y.  $
MW2. H ($+P'A$4!8 4)KM%1F;<V((N.AX%L0)EJSF8;-C45K-S0WNWBGA)ZE
M&J?&=XK'#REG"0KY!2X?UU3MX!0NI:(Z1RCA7E%&_V("7V>H"&7R1$];%/#"
M[L0I? (/9$H$RJ&GM"A#[<65@$DI(#@BH!/ #<]5*N$R3S!Y3N!I-[6E8&]I
M$K0RSC!V(>Q\@\ /.@V"IN^'^RURPCK#H>4+CV78).;4_-42F/),'S]);-XN
MA"#Y"O614+#8P6'<G.SL\,66B 1^_]"4<*TPDW]:!)W5@LZLH+,C@JX(%; A
M;(W E]4F2J!2KLTNTQP2SA@1$@H4Y;:>-&UKN<C +F+NBLTX= ?!T-L<IOIU
M4.#Z41WT3'^WUM]MU7_YA"*F$J$0-,8/*.Z^$M-U_=X+Q:^# C?J-RN.:L71
M&XH+?6OI[#*Z/$BZE;Y#+;Q1;CMG5"(A@*P\/OH@)637= *G[V/JE$P0-? \
ML]VK;?=:B6^I?#A="D2@N4)].R@0^DYI\MI.Y+L#_W.3L;=@O9>P9S[ZM8_^
M^[9OPQDQUZ':-7EH)QE$;MALX@U<Z$:M+@:UBT$KT8QN:()Y CN*+&DRT([W
M7;]9_X=AI7SOH&AE*%:VEDN(^3I7Y65?C];/A0M;)5^,3_0SHJSZ_VG*-\@-
M$2NJ[S:&2TVI_P[Z<(NRKI<=Q0M;&A=<Z4)KFZE^"J$P 7I^R;G:=\P"]>-J
M_ ]02P,$%     @ 8$!Q5-@.0=5\ P  X P  !D   !X;"]W;W)K<VAE971S
M+W-H965T-SDN>&ULS5=-;]LX$/TK Z' )D :B?)77-@&$B>+#=!LC:;I'A9[
MH*6Q140B79**8V!__)*4(MFMS*;82RX6.>(\OGE#CD>3K9"/*D/4\%SD7$V#
M3.O-AS!4288%5>=B@]R\60E94&VF<AVJC42:.J<B#^,H&H8%93R839QM(6<3
M4>J<<5Q(4&514+F[PEQLIP$)7@R?V3K3UA#.)ANZQGO4#YN%-+.P04E9@5PQ
MP4'B:AI<D@]S,K8.;L57AENU-P8;RE*(1SNY3:=!9!EACHFV$-0\GG".>6Z1
M#(]O-6C0[&D=]\<OZ+^[X$TP2ZIP+O*_6*JS:7 10(HK6N;ZL]C^@75  XN7
MB%RY7]C6:Z, DE)I4=3.AD'!>/6DS[40>PYD>,0AKAWB[QWZ1QQZM4//!5HQ
M<V%=4TUG$RFV(.UJ@V8'3AOG;:)AW*;Q7DOSEAD_/;O7(GG,1)ZB5+_!S;>2
MZ1V\!V>&3QLKM8(_J934R@TGUZ@IR]6I6?-P?PTG[T[A'82@,BI1 >/PP)E6
M9\9HQE\R42K*4S4)M>%J=PR3FM=5Q2L^PHO$<">XSA3<\!330X#0!-E$&K]$
M>A5[$:\Q.8<>.8,XBDD'H?GKW2,/G5XC?,_A]8X);Q5[;T]@"G-1F&NIJ#O8
MET9KOD9S530L=["_;D%WSGRYI3*%OS\:2+C56*A_/(3Z#:&^(]0_0NCF&67"
M[#8G)G550D^[$E?!#!V,K1)/LWX<#R;AT[Z8/RXB,1F,FE4'% <-Q8&7XBW7
MDID*DL 3S4L$L0)1'U&LV--ECEV<*]S1 >=A-YEA0V;H)?/I<&=,S\R1/^#7
M163X Q$R)MU$1@V1D9=(=5<WDB7H4I>*/*=2P09EE<;.+%:8XWU%SN,C^;EH
MF%R\@DF5$L^)'#=PX[=Q14C45LO(&^%75)KQM=66B;2SK/D!2 0[--GQL=FK
MW<0+=L<X*\H"_H57*D_B%CI^(]JW!9/T_J_V?@#BI/=Q:6LE\1?+._K\B\JW
M-8X,WHCR;:4C_E+W"N7] /V?'_JVVA%_N8LCTH=%3KUJMQ6+7+P1M=NJ1\:_
MH'9W[^1'\!69<*]7+%"N70NM(!$EUU4SU5B;-OW2-:??V:]L^^YZT!:FZOWO
MJ%R;OT'(<64@H_.1.?"R:J>KB18;UY$NA3;]K1MFYA,$I5U@WJ^$T"\3NT'S
M43/[#U!+ P04    " !@0'%4:&97AO$#   P#P  &0   'AL+W=O<FMS:&5E
M=',O<VAE970X,"YX;6RMEUN/FS@4@/^*A5;:5MH"-K=0)9%F,K.7AVY'C;9]
M=L!)T "FMI-,__W:0+C?*O4EP>9<OG,<GY.SOE'VRL^$"/"6Q"G?:&<ALH^&
MP8,S23#7:492^>9(68*%7+*3P3-&<)@K);&!3-,U$AREVG:=[[VP[9I>1!RE
MY(4!?DD2S'X\DIC>-AK4[AM?HM-9J UCN\[PB>R)^"][87)E5%;"*"$ICV@*
M&#ENM ?X<8=,I9!+?(W(C3>>@0KE0.FK6OP3;C13$9&8!$*9P/+K2G8DCI4E
MR?&]-*I5/I5B\_EN_<\\>!G, 7.RH_&W*!3GC;;20$B.^!*++_3V-RD#<I2]
M@,8\_P2W0M:S-!!<N*!)J2P)DB@MOO%;F8B& G1'%%"I@+H*]HB"52I8>: %
M61[6$Q9XNV;T!IB2EM;40YZ;7%M&$Z7J&/>"R;>1U!/;O:#!ZYG&(6'\=_#\
M_1*)'^ #V!>G"N@1?,[R?#^H?*N7[YZ(P%',WTNQWX !^!DSPM>&D#3*IA&4
MGA\+SVC$,T3@$TW%F8/G-"1AVX APZAB0?=8'M&DQ2<2Z,""?P!D(C@ M%NN
M;D[@6%5JK=R>-6+OWTMR(*Q.(9^P:5<V[=RF/6+S\T5P@=,P2D\ "W @IRA-
MU4)ZR0B+: C>16EY)N^'#J6P[^;VU1V_;A&"MB,#OC93U1>#CF-:L!)KX3L5
MOC.)_Q?#J2"SC$[/^6J%["YB7PI"9#4B:2&Z%:([B;C#:2"+S"RCV_/^P7(]
MT^U #HE9GF</0WH5I#<)^?R616R>T>L[A^Y8@E:5[]6,;\*"B,][7_6]VP@Y
MG00-2$$$'6\8TJ\@_9^Y)R0-E]\0OW]#7 ^:?@=\0*Q]D5K@T*P+LCF)_I5P
M=44D/"!OF>QV<B$HN,KM.?+2<HO)@K:+1I@:30(N.7-\B,DL ^PQ^ BBD<(!
M48V )JOIM[PARUP\7 F3?S# _7<(7E@4R$]9:O<*:Z+*PKIT0^M7U-F0QC%F
M7&T5.1E.2>'+;Z3$TNWN11B0<G1DC>2M;AAPNF,T2^Y"W,(@1"T2T^OR#H@A
MW5V- -<M D[WB%8!7DCL#!%;O0P/B/FZXXX0UQT#3K>,9C5>".SV26Q?AV/)
MJ_L"G&L,S>*\$,;KPT#=[W:R(3&DP[&+7;<3.-U/9DOUPBA6?3QYRWI1K*;O
M8CN(NMW Z7XS5[07QN /QC"28E2W%#3=4KKE>QE-:;2=*M3]B1J-V2,A[)2/
M9!P$])**XJ][M5N-?0_YL-/9?Y3C8#&\U6:*6?(39K+\<A"3HS1IZIZ\QZP8
MSXJ%H%D^X1RHD/-2_GB6(RUA2D"^/U(J[@OEH!J2M_\#4$L#!!0    ( &!
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
M1,:+?"_C8RQE'.:'<^%-19)=H/Z?Q;%<GV0.JMVM9_\#4$L#!!0    ( &!
M<50[+F;YL (  'H)   9    >&PO=V]R:W-H965T<R]S:&5E=#@R+GAM;,U6
M76_:,!3]*U=Y62NM31PH_1 @0=MIE=8)@=H]3'LPR26Q&MNI;1:0]N-G.Q"8
M-$*EOO0EL9U[CL\]=GS=KZ1ZT3FB@14OA!X$N3'E31CJ)$=.];DL4=@O"ZDX
M-;:KLE"7"FGJ0;P(XRCJA9PR$0S[?FRBAGVY- 43.%&@EYQ3M1YC(:M!0(+M
MP)1EN7$#X;!?T@QG:)[*B;*]L&%)&4>AF12@<#$(1N1F3+H.X".>&59ZKPTN
ME;F4+Z[SD Z"R"G" A/C**A]_<9;+ K'9'6\;DB#9DX'W&]OV;_XY&TR<ZKQ
M5A8_6&KR07 50(H+NBS,5%9?<9/0A>-+9*']$ZI-;!1 LM1&\@W8*N!,U&^Z
MVABQ!R"] X!X XB][GHBK_*.&CKL*UF!<M&6S35\JAYMQ3'A5F5FE/W*+,X,
M9T8F+[DL4E3Z$]R_+IE9PQE,41O%$H,I^ AX$LQH^$Z5HLY&.+E#0UFA3P\'
MGTQG3_JT'QHKTTT6)AM)XUI2?$ 2B>%1"I-KN!<IIO\2A#:_)LEXF^0X;F6\
MP^0<.N0SQ%%,6O@ZC6D=S]<]P!='I N3@@KX X],,+[D+:S=AK7K63N'EB*G
M"L_<%DOA5G+[WVGJ=^[(FBXRM/^"@?D:]N,F=.V'1Q55*?S\9BGAP2#7OUH$
M732"+EK3?+;KRD0&)2HFT_\M9#N>P!JI:A'2:X3TWNXW71WQ^[)AO?P8?E\U
M@J[>Z7<[ONO]UBU*KALEUT<,CZ.W;W 2[0Z;Z&-83O;./_).TX\0'-WE)-YI
MB=]N^]%]3G;'%>E\$-MW9QWIOM?V=H*6S1[NE4..*O-%7T,BE\+4E;$9;2X6
MH[J<[L+K6\DC51D3&@I<6&AT?FE//%47^KIC9.F+ZUP:6ZI],[>7(U0NP'Y?
M2&FV'3=!<]T:_@502P,$%     @ 8$!Q5"'1V<9\ P  NPL  !D   !X;"]W
M;W)K<VAE971S+W-H965T.#,N>&ULG99M;^(X$(#_BA6==%WI-HF=$& %2(5V
M;^_#ZJJB=C^[R0!6$YNU3=G]]V<[:0CDI>CR 6)G7IX9>^R9'85\53L C7X5
M.5=S;Z?U_DL0J'0'!56^V ,W7S9"%E2;H=P&:B^!9DZIR ,2ADE04,:]Q<S-
M/<C%3!QTSC@\2*0.14'E[R7DXCCWL/<^\<BV.VTG@L5L3[>P!OVT?Y!F%-16
M,E8 5TQP)&$S]V[QEQ6.K8*3>&9P5(UW9$-Y$>+5#O[)YEYHB2"'5%L3U/R]
MP0KRW%HR'#\KHU[MTRHVW]^M?W7!FV!>J(*5R'^P3._FWL1#&6SH(=>/XO@-
MJH!&UEXJ<N5^T;&2#3V4'I061:5L" K&RW_ZJTI$0P$G/0JD4B"7"G&/0E0I
M1"[0DLR%=4<U7<RD.")II8TU^^)RX[1--(S;95QK:;XRHZ<7:RW2UYW(,Y#J
M3W3_\\#T;_09K<M516*#'D%IR5(-&7+"Z-9FWHK=W(&F+%>?C$)+ZHDSK=#-
MX_K)??\#!4CMJ 0U"[3AMMZ#M&)<EHRDAQ$3]%UPO5/HGF>0G1L(3,!UU.0]
MZB49M'@'J8\B_!<B(<$=0*OKU<,!G*A>A,C9BWKL]23OWX-6FO*,\>V D[AV
M$CLG<8^3)6P9Y\:6V?8YY2F@&\:K-?G4M2BEN<29LZ?!VR*.)R;<MV:BVD))
M$D:UT!GIJ"8=#9+^+2FWN?B ;]1R/0K-<P'8EL)3TI Z(TQJPF20\-DLV,>
M2<OUYQ$)6RGL$+.'\*0;<5PCC@<15W:)\P\A5^.V=TQ&HV[GD]KY9-#YO=NT
MUVZT20N!Q*UU; N=[<8SS&F-.1VLNQ_ND#<YNGT#:2XMY'8>,@<IH*^42?1,
M\P,,U!X.3\=L.)B11BTCJM%+78SFA-V#9*)<J$SD.97*3I49ZTQ8Y6O:2,;$
M3^*P\>"+]'6HX,C'X^X$XL;U@:^NU2OAJPN)- O7)\DE<(<8\>.X!YB<@,FU
MI7LE+^GBC5N\'6*1/TUZ>$]7 XZNK^.KB%>5Q3,4;'+7@W*Z0/#P#7*QAX%G
M_V_WQJVM./9Q?)G/ME3_'B\#"AIM4 %RZ[I#A5)QX+KL#>K9N@.]=7W7Q?S2
M=J:NO3J9*=O:[U2:PE4HAXTQ&?IC<[W(LE,L!UKL7;/U(K1IW=SKSG37(*V
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
MBJ2ZY4M39!RCN(#2Q+0MRS=31*@Q[!=MSWS89VN9$(J?.1#K-$7\OQN<L,W
M@,:VX84L5S)O,(?]#"WQ',O7[)FK.[.V$I,44T$8!1PO!L97>#V%00X4BK\(
MWHB]:Y /Y8VQ'_G-.!X85NX13G D<Q-(_;WC6YPDN27EQ\_*J%'WF8/[UUOK
M]\7@U6#>D,"W+/F;Q'(U,$(#Q'B!UHE\89M'7 W(R^U%+!'%+]A46LL T5I(
MEE:P\B EM/Q'OZI [ '*CAZP*\!N NX)P*D IRO@5H#;%? JP.L*^!7@=P6"
M"@BZ F$%A%V!7@7TFH!_*G'6-G-6USY@G>RRZ,HJ*4ILA"0:]CG; )[KE;W\
MHJC3@E>516@^I>:2JZ=$<7+XS%F\CB1 - 8/F"TYRE8D F-:SM:\ZB]&6"*2
MB,_@"WB=C\#%I\_@$R 4_+EB:Z% T3>E<B4W:$95MS=EM_:);ATP8U2N!+BC
M,8XU_*2=AW:+ 5/%H Z$O0W$C=UJ<82C*^# 2V!;-M0X=-N.SW&F<.LD/FK'
M)VO:BM^UXS/$6YV_[SYV2X,_=!^[#G_L/G8=/NX^=AT^^;V\3\\.W4$9.O5\
M= I[SLE8+M6&)<$+SAB7A"XOU67$:$24<@G&$J= 34WP/<,<Y<^!FL$+(L'%
M$Q-JBBXX2\'6B&3@EE'!$A(CB6/PSY/JK; A_FWQU:U]=0M?W1.^?E,[OD )
MUL[_$@T*--_7WX>V:WE]\WU_3FE$@=L[%(TT(BMP#T5W&I'O!(>B^V.1$[C^
MH>CA6.3U_$9WCQI+CM,8W5C77>@<BB;'HE[H-RQ-CT70#^VP5AVDSZO3Y[6F
M[XG1Y9=$'6AB@(3 4H"$146=J+7]=7X)5(E%JHQTV6VW#"WKRK+^T"U$YX*3
M<\'I&>!!./TZG'ZKI5=*\MC-I0JA:+$7U/:"#[\2A+6OX=DKP20\KO  VHT*
M/Q9!WP\]?87W:K=ZK6Z-J<2<%J<8E+0,$UJ[TY+UX9,"]\YV\/RT5*R_'W*O
ML3I-=2+7T6<%VCN_[%:_;EF:JK6%H 1DY?FS;<+ W=X)/_[F"7>[)SQ_^YQ4
M['[@7;7D-]-SK/)<RSV1G]W& -L7Q=ELUBDQNZ41^A\_,;N%%P:_D9C@^'P
MF[OZ5*."T+6;F3'W7MS4C%@6WQ8$B-B:RO+,6+?6WR^^%F_MC?8;>#V&FO9)
M_KVC>%'<F2\_EJAC\Y)0M>?CA>K*N@I42?#R^T-Y(UE6O#:^,:E>0XO+%48Q
MYKE /5\P)K<W>0?U5Z#A_U!+ P04    " !@0'%4[%"W]4\#  "0"P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6RU5FUOFS 0_BL6VJ16V@(FA+15
M$JE-TJW3ID5-MWV8]L&!2V(5;&:;IOOW.P.CZ2 LJK0OP89[[IZ[R[V,=E+=
MZRV (8]I(O38V1J37;BNCK:0,MV3&0C\LI8J90:O:N/J3 &+"U":N+[GA6[*
MN' FH^+=0DU&,C<)%[!01.=IRM2O*TCD;NQ0Y\^+6[[9&OO"G8PRMH$EF"_9
M0N'-K;7$/ 6AN11$P7KL7-*+:QI80"'QE<-.[YV)=64EY;V]W,1CQ[.,(('(
M6!4,'P\PA22QFI#'STJI4]NTP/WS'^W7A?/HS(IIF,KD&X_-=NR<.22&-<L3
M<RMW[Z%R:&#U13+1Q2_9E;(!"D>Y-C*MP,@@Y:)\LL<J$'L =+0=X%< _UA
MOP+TCP4$%2 X%C"H (-C 6$%"(O8E\$J(CUCADU&2NZ(LM*HS1Z*=!5H## 7
M]I^U- J_<L29R6>S!45N1"13("<S,(PG^I2\)5^6,W+RZI2\(ER0NZW,-1.Q
M'KD&C5JH&U4&KDH#_@$#EYGJ$3I\0WS/]UK@TV[X$K(>Z7L%G+; 9]WP&40(
MIP?A\^/A;>2ON^$?<G&(O(MYJI/EU\GR"WW]@W16!G.EC<JQN WY_A$%R(V!
M5/_H4-^OU?<+]<$!]?/;NZGM%KF(VQ)5@H<%V#:LATG01Z\>6BP&M<7@WQ;A
M,<,V S&:CH _L%4";8D.FN:#06V^S&93QGLN<=VMY9D3@]J)0:<3B\6"))*)
M-M(E,CQ,:-Z4&/CG[83"FE!X%*$W1.!HDFOL(TK9_PLVXEQQPZ&MCF?A/[DV
M)?PP;.<ZK+D..[F^P^%'<,+@C-S@B!&@M67<%=-A@\691_]BVI3QVGF>U3S/
MNF/*?N%0C^[)0DE3344\;A1+R?3R=KXDEY'IJ,'SVL[Y_RAQZCWU>Z_;$24C
M@%B3M9)I$6,B%=]PP:Q/K?W=:]3,\/Q S="]N4,[>2P-LS7/A0$%VA"%UU;K
MW6IHS_->=P7FJ;=2_Z5E/*^@1U4I?6JWM+O?OJQ.Y[39B ^6(7WJQ+2[%;^@
M$&FSF>Y78DG$W=M-[*[ZB:%^H4D":T1YO2$V0%6N?^7%R*Q85U;2X/)3'+>X
M,H.R OA]+;$ JXO=@.HE?/(;4$L#!!0    ( &! <52!80RDP@,  #D0   9
M    >&PO=V]R:W-H965T<R]S:&5E=#DQ+GAM;+5886_B.!#]*Q;:D[;2+HD-
M@;("I!;H;E==7=5V]W0ZW0=#!F(UB7.V UOI?OR-0TAR$AA.NGQHB8/?FYDW
MSG/,>"?5JXX #/F9Q*F>=")CLD^>IU<1)%QW908I?K.6*N$&AVKCZ4P!#PM0
M$GO,]P=>PD7:F8Z+>X]J.I:YB44*CXKH/$FX>KN%6.XF'=HYW'@2F\C8&]YT
MG/$-/(/YGCTJ''D52R@22+60*5&PGG1NZ*<%&UA ,>.'@)UN7!-;RE+*5SNX
M#R<=WV8$,:R,I>#XL849Q+%EPCS^*DD[54P+;%X?V.^*XK&8)=<PD_%O(C31
MI'/=(2&L>1Z;)[G[ F5!@>5;R5@7_\FNG.MWR"K71B8E&#-(1+K_Y#]+(1H
MVC\!8"6 70KHE8#>I8!^">A?"@A*0%&ZMZ^]$&[.#9^.E=P196<CF[THU"_0
MJ)=([4)Y-@J_%8@STR>(N8&0/')EWLB+XJGF10LU>3\'PT6LK\A'\OUY3MZ_
MNR+OB$C)2R1SS=-0CSV#*5@B;U6&N]V'8R?"?>.J2]CH V$^'1V!S]SP.:RZ
MI$<MG-$C\+D;?@=+C#XX&7WAAG_-XT-TVO\WW$/9*^U9I3TK^/HG^ *RB $?
M.J/)YU@N>4QNPJW04FD'>:\B[Q7DO?_:6/+' TXE]P82_:<C4+\*U'=6\>LN
M!:4CD=FEH2"3RHAT0[ L@8&7;WAOGTEF,SG6<S>_WQWYOSCR#*H\@TO57F#&
MFS>R6*_%2D"*?[C:;W_<7Y$'$W8=L095K$&[X@^K0,.6Q7?SGQ/_NLKSVLGS
M.T0?OX$@LP@PO;])LQG'NX"39C))\A0?B_O4@$JY%1!'9WHTJE(:M=LCZM<>
MZU_<):P$M#EJ?6Z2P._ZSE[0AN=3)Q7MS<EG)?/,Q5:[&&4M"UE[&NVUN]SG
M9P+087?@%KFV1>KVK9M$YJG!1+?8;PB/[I5[AF'!8%_IMIB [X^][;'(M=%1
MM]-5[<5GZ"M/\+%ZR7'3QCN;B-SEQ3L>-NN5/#S,7*76;D=;MCM:^QUU&](E
MJNX9!@U5@^M3HM8&1MT.UA3U5HDX%ASS>#98,NXG^%1G2FCX@%ZU<KD3K>V)
MMNQ/K/8GYK:6"T0M&9I+-3BU4EEM1,QM1 >'=U71>)MJV8=8[4.L91]:G D0
MG/%Z5ML0<]M0M8FVNNFRVIQ8T'*7:EMB@_]AVSU#<GK;]1JG+GNHQK/-1N"Y
M*88U,OG=(0JA]N?4_<#(K#B(+:7!8UUQ&>'9'I2=@-^OI32'@3W;5;\63/\!
M4$L#!!0    ( &! <53S;4GCB 4  " 8   9    >&PO=V]R:W-H965T<R]S
M:&5E=#DR+GAM;*596W/:.!3^*QJVL]/N--CRW2QA)@DA0).=;+/=/G3ZH(
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
M6Q)%2>)' /,KB"(,@;<11S %H %#HJ@Z!W?.HW!]3H7M_P!'OP!02P,$%
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
M &! <50'04UB@0   +$    0              "  0    !D;V-0<F]P<R]A
M<' N>&UL4$L! A0#%     @ 8$!Q5"HP66_N    *P(  !$
M ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ 8$!Q5)E<G",0
M!@  G"<  !,              ( !S $  'AL+W1H96UE+W1H96UE,2YX;6Q0
M2P$"% ,4    " !@0'%4?.;@860&   \&@  &               @($-"
M>&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ 8$!Q5%RK]I89
M @  9P4  !@              ("!IPX  'AL+W=O<FMS:&5E=',O<VAE970R
M+GAM;%!+ 0(4 Q0    ( &! <51/O70+E@8  *P<   8              "
M@?80  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " !@0'%4
M:["<(,@#   (#0  &               @('"%P  >&PO=V]R:W-H965T<R]S
M:&5E=#0N>&UL4$L! A0#%     @ 8$!Q5"Q%% ;)!0  XA4  !@
M     ("!P!L  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    (
M &! <53?HT5YY@$  -$#   8              " @;\A  !X;"]W;W)K<VAE
M971S+W-H965T-BYX;6Q02P$"% ,4    " !@0'%41AC*O98"  #*!@  &
M            @(';(P  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#
M%     @ 8$!Q5.9S(&Y[!P  [B0  !@              ("!IR8  'AL+W=O
M<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( &! <50QXG1=JP@  +LF
M   8              " @5@N  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q0
M2P$"% ,4    " !@0'%4Q @8OTH+  #O&@  &0              @($Y-P
M>&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( &! <52W(FYQ
M-B4  %-Z   9              " @;I"  !X;"]W;W)K<VAE971S+W-H965T
M,3$N>&UL4$L! A0#%     @ 8$!Q5.\"@=(P%   I#8  !D
M ("!)V@  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " !@
M0'%4=.Q3=N4(  "F*0  &0              @(&.?   >&PO=V]R:W-H965T
M<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( &! <51%%?%C6@0  .,)   9
M          " @:J%  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#
M%     @ 8$!Q5)U[JK:K P  ( @  !D              ("!.XH  'AL+W=O
M<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " !@0'%4234)!^$"   :
M!@  &0              @($=C@  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM
M;%!+ 0(4 Q0    ( &! <50(;D"F!!,  ! ]   9              " @361
M  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ 8$!Q5$T-
MSXJ) @  E@4  !D              ("!<*0  'AL+W=O<FMS:&5E=',O<VAE
M970Q."YX;6Q02P$"% ,4    " !@0'%4$E1;P'0:  !15@  &0
M    @($PIP  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    (
M &! <52EEH&YU D  /<9   9              " @=O!  !X;"]W;W)K<VAE
M971S+W-H965T,C N>&UL4$L! A0#%     @ 8$!Q5"!F33Q%!   2PD  !D
M             ("!YLL  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"
M% ,4    " !@0'%4$ 3%YYL&    $   &0              @(%BT   >&PO
M=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( &! <53H+5.Y2 @
M -D4   9              " @337  !X;"]W;W)K<VAE971S+W-H965T,C,N
M>&UL4$L! A0#%     @ 8$!Q5$O!91'Y 0  7 0  !D              ("!
ML]\  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " !@0'%4
MHQ158B(%  "S"P  &0              @('CX0  >&PO=V]R:W-H965T<R]S
M:&5E=#(U+GAM;%!+ 0(4 Q0    ( &! <52&\&5!' ,   @'   9
M      " @3SG  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%
M  @ 8$!Q5-FPE)Y$(@  5G(  !D              ("!C^H  'AL+W=O<FMS
M:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " !@0'%4QHU7%YH$  "["@
M&0              @($*#0$ >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+
M 0(4 Q0    ( &! <50#^D02_@(  %4'   9              " @=L1 0!X
M;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ 8$!Q5"D;VIO]
M!   %A   !D              ("!$!4! 'AL+W=O<FMS:&5E=',O<VAE970S
M,"YX;6Q02P$"% ,4    " !@0'%4K-_-&#4#   ?!P  &0
M@(%$&@$ >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( &!
M<52Z6B.Y:0,  (0'   9              " @; = 0!X;"]W;W)K<VAE971S
M+W-H965T,S(N>&UL4$L! A0#%     @ 8$!Q5/=8'5C5 @  #@8  !D
M         ("!4"$! 'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4
M    " !@0'%4=6E62F4'  !'$P  &0              @(%<) $ >&PO=V]R
M:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( &! <52I:([(. 0   @*
M   9              " @?@K 0!X;"]W;W)K<VAE971S+W-H965T,S4N>&UL
M4$L! A0#%     @ 8$!Q5#C>/??I @  S 8  !D              ("!9S !
M 'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " !@0'%47E]U
MH'8$   D"@  &0              @(&',P$ >&PO=V]R:W-H965T<R]S:&5E
M=#,W+GAM;%!+ 0(4 Q0    ( &! <529T_1!4P(  &T%   9
M  " @30X 0!X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @
M8$!Q5%8+@[IM @  ;P8  !D              ("!OCH! 'AL+W=O<FMS:&5E
M=',O<VAE970S.2YX;6Q02P$"% ,4    " !@0'%4?<24QG@"  #W!0  &0
M            @(%B/0$ >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4
M Q0    ( &! <5032E=D"@(  'X$   9              " @1%  0!X;"]W
M;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ 8$!Q5(15IDZ2"
MMS$  !D              ("!4D(! 'AL+W=O<FMS:&5E=',O<VAE970T,BYX
M;6Q02P$"% ,4    " !@0'%4%>>+!D,#  !["@  &0              @($;
M2P$ >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( &! <53)
M.X*>50(  #\&   9              " @95. 0!X;"]W;W)K<VAE971S+W-H
M965T-#0N>&UL4$L! A0#%     @ 8$!Q5+Z8I?I<!   @Q4  !D
M     ("!(5$! 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4
M" !@0'%4QW9REV,$   ,$0  &0              @(&T50$ >&PO=V]R:W-H
M965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( &! <53PU=3BA@,  -D-   9
M              " @4Y: 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L!
M A0#%     @ 8$!Q5$[>JF-! @  - 4  !D              ("!"UX! 'AL
M+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    " !@0'%4:J=$D.("
M   ]#   &0              @(&#8 $ >&PO=V]R:W-H965T<R]S:&5E=#0Y
M+GAM;%!+ 0(4 Q0    ( &! <51.2]K/'@,  # (   9              "
M@9QC 0!X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ 8$!Q
M5*?GT&#&!   !!8  !D              ("!\68! 'AL+W=O<FMS:&5E=',O
M<VAE970U,2YX;6Q02P$"% ,4    " !@0'%4? )K:28#  !R"@  &0
M        @('N:P$ >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0
M   ( &! <51Y?=]S@ (   D'   9              " @4MO 0!X;"]W;W)K
M<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ 8$!Q5 XW5KO; @  P @
M !D              ("! G(! 'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q0
M2P$"% ,4    " !@0'%4Y'_CF20#  #1"@  &0              @($4=0$
M>&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( &! <50/%4-T
M)0,  +P+   9              " @6]X 0!X;"]W;W)K<VAE971S+W-H965T
M-38N>&UL4$L! A0#%     @ 8$!Q5)ANL'&+ @  F@8  !D
M ("!RWL! 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    " !@
M0'%4(MB]O8D"  !O!@  &0              @(&-?@$ >&PO=V]R:W-H965T
M<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    ( &! <531M-#-O (  " '   9
M          " @4V! 0!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#
M%     @ 8$!Q5-\;OBQK @  UP4  !D              ("!0(0! 'AL+W=O
M<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    " !@0'%4C1K:*3X%   7
M'@  &0              @('BA@$ >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM
M;%!+ 0(4 Q0    ( &! <53,R0IA%P,  ( )   9              " @5>,
M 0!X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ 8$!Q5*@:
M5H.9!@  ]R   !D              ("!I8\! 'AL+W=O<FMS:&5E=',O<VAE
M970V,RYX;6Q02P$"% ,4    " !@0'%4;X&$' 0$   Z#P  &0
M    @(%UE@$ >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    (
M &! <51T?YC![@(  '8)   9              " @;": 0!X;"]W;W)K<VAE
M971S+W-H965T-C4N>&UL4$L! A0#%     @ 8$!Q5# *S7%6 P  F0L  !D
M             ("!U9T! 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"
M% ,4    " !@0'%4G9K!L8D%  "Y&   &0              @(%BH0$ >&PO
M=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( &! <525G;H>H (
M  $'   9              " @2*G 0!X;"]W;W)K<VAE971S+W-H965T-C@N
M>&UL4$L! A0#%     @ 8$!Q5'C.1V;9!   ,14  !D              ("!
M^:D! 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    " !@0'%4
M_D=AIO$"  "_"0  &0              @($)KP$ >&PO=V]R:W-H965T<R]S
M:&5E=#<P+GAM;%!+ 0(4 Q0    ( &! <50 :WDITP,  'D,   9
M      " @3&R 0!X;"]W;W)K<VAE971S+W-H965T-S$N>&UL4$L! A0#%
M  @ 8$!Q5+4U0,R7!0  2AH  !D              ("!.[8! 'AL+W=O<FMS
M:&5E=',O<VAE970W,BYX;6Q02P$"% ,4    " !@0'%43%V4GW4"  !;!@
M&0              @($)O $ >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM;%!+
M 0(4 Q0    ( &! <52D^H 2H 8  $<A   9              " @;6^ 0!X
M;"]W;W)K<VAE971S+W-H965T-S0N>&UL4$L! A0#%     @ 8$!Q5-':)A"<
M P   0T  !D              ("!C,4! 'AL+W=O<FMS:&5E=',O<VAE970W
M-2YX;6Q02P$"% ,4    " !@0'%4:>40)($$  #<%   &0
M@(%?R0$ >&PO=V]R:W-H965T<R]S:&5E=#<V+GAM;%!+ 0(4 Q0    ( &!
M<52,JM()&P,  #8*   9              " @1?. 0!X;"]W;W)K<VAE971S
M+W-H965T-S<N>&UL4$L! A0#%     @ 8$!Q5.%_SM8Q P  : D  !D
M         ("!:=$! 'AL+W=O<FMS:&5E=',O<VAE970W."YX;6Q02P$"% ,4
M    " !@0'%4V Y!U7P#  #@#   &0              @('1U $ >&PO=V]R
M:W-H965T<R]S:&5E=#<Y+GAM;%!+ 0(4 Q0    ( &! <51H9E>&\0,  # /
M   9              " @838 0!X;"]W;W)K<VAE971S+W-H965T.# N>&UL
M4$L! A0#%     @ 8$!Q5!HU@P%W!@  Z2H  !D              ("!K-P!
M 'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6Q02P$"% ,4    " !@0'%4.RYF
M^; "  !Z"0  &0              @(%:XP$ >&PO=V]R:W-H965T<R]S:&5E
M=#@R+GAM;%!+ 0(4 Q0    ( &! <50AT=G&? ,  +L+   9
M  " @4'F 0!X;"]W;W)K<VAE971S+W-H965T.#,N>&UL4$L! A0#%     @
M8$!Q5#"K%:/N @  Z <  !D              ("!].D! 'AL+W=O<FMS:&5E
M=',O<VAE970X-"YX;6Q02P$"% ,4    " !@0'%4[$^:N? #   1#@  &0
M            @($9[0$ >&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;%!+ 0(4
M Q0    ( &! <51KL?-!=P(  '@&   9              " @4#Q 0!X;"]W
M;W)K<VAE971S+W-H965T.#8N>&UL4$L! A0#%     @ 8$!Q5"P:0)>Y @
M6 @  !D              ("![O,! 'AL+W=O<FMS:&5E=',O<VAE970X-RYX
M;6Q02P$"% ,4    " !@0'%43> ,&O "  !4"   &0              @('>
M]@$ >&PO=V]R:W-H965T<R]S:&5E=#@X+GAM;%!+ 0(4 Q0    ( &! <50&
M\:, 'P0  !$2   9              " @07Z 0!X;"]W;W)K<VAE971S+W-H
M965T.#DN>&UL4$L! A0#%     @ 8$!Q5.Q0M_5/ P  D L  !D
M     ("!6_X! 'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6Q02P$"% ,4
M" !@0'%4@6$,I,(#   Y$   &0              @('A 0( >&PO=V]R:W-H
M965T<R]S:&5E=#DQ+GAM;%!+ 0(4 Q0    ( &! <53S;4GCB 4  " 8   9
M              " @=H% @!X;"]W;W)K<VAE971S+W-H965T.3(N>&UL4$L!
M A0#%     @ 8$!Q5%2O0[G2 P  CPX  !D              ("!F0L" 'AL
M+W=O<FMS:&5E=',O<VAE970Y,RYX;6Q02P$"% ,4    " !@0'%4#KMJ_34#
M   0%   #0              @ &B#P( >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0
M   ( &! <527BKL<P    !,"   +              "  0(3 @!?<F5L<R\N
M<F5L<U!+ 0(4 Q0    ( &! <50X/>L+N 8  !\]   /              "
M >L3 @!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " !@0'%4*"B!BK$"  "^
M-@  &@              @ '0&@( >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E
M;'-02P$"% ,4    " !@0'%4??/N/T,"   #-0  $P              @ &Y
L'0( 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     90!E +H;   M( (    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>267</ContextCount>
  <ElementCount>508</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>97</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0002002 - Document - Audit Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/AuditInformation</Role>
      <ShortName>Audit Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1001003 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Uncategorized</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1002004 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1003005 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1004006 - Statement - Consolidated Statements of Operations (Paranthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperationsParanthetical</Role>
      <ShortName>Consolidated Statements of Operations (Paranthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1005007 - Statement - Consolidated Statements of Comprehensive Loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss</Role>
      <ShortName>Consolidated Statements of Comprehensive Loss</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>1006008 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>1007009 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2101101 - Disclosure - Nature of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/NatureofOperations</Role>
      <ShortName>Nature of Operations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2103102 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2118103 - Disclosure - Restructuring</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/Restructuring</Role>
      <ShortName>Restructuring</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2122104 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2129105 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2134106 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PropertyandEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2137107 - Disclosure - Prepaid Expenses and Other Current Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssets</Role>
      <ShortName>Prepaid Expenses and Other Current Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2140108 - Disclosure - Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/Debt</Role>
      <ShortName>Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2146109 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2148110 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2166111 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2172112 - Disclosure - Product and Geographic Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ProductandGeographicInformation</Role>
      <ShortName>Product and Geographic Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2175113 - Disclosure - Other Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/OtherIncome</Role>
      <ShortName>Other Income</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2177114 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2179115 - Disclosure - Legal Matters</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LegalMatters</Role>
      <ShortName>Legal Matters</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2180116 - Disclosure - Supplementary Financial Information to Item 8.</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8</Role>
      <ShortName>Supplementary Financial Information to Item 8.</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2183117 - Disclosure - Schedule II - Schedule of Valuation and Qualifying Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccounts</Role>
      <ShortName>Schedule II - Schedule of Valuation and Qualifying Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2204201 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2305301 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2319302 - Disclosure - Restructuring Restructuring (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/RestructuringRestructuringTables</Role>
      <ShortName>Restructuring Restructuring (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2323303 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/Leases</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2330304 - Disclosure - Inventories Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/InventoriesInventoriesTables</Role>
      <ShortName>Inventories Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2335305 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PropertyandEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/PropertyandEquipment</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2338306 - Disclosure - Prepaid Expenses and Other Current Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsTables</Role>
      <ShortName>Prepaid Expenses and Other Current Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssets</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2349307 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/StockholdersEquity</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2367308 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/IncomeTaxes</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2373309 - Disclosure - Product and Geographic Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ProductandGeographicInformationTables</Role>
      <ShortName>Product and Geographic Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/ProductandGeographicInformation</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2381310 - Disclosure - Supplementary Financial Information to Item 8. (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Tables</Role>
      <ShortName>Supplementary Financial Information to Item 8. (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2402401 - Disclosure - Nature of Operations - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/NatureofOperationsNarrativeDetails</Role>
      <ShortName>Nature of Operations - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2406402 - Disclosure - Summary of Significant Accounting Policies - Cash and Cash Equivalents (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Cash and Cash Equivalents (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2407403 - Disclosure - Summary of Significant Accounting Policies - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesInventoriesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2408404 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAccountsReceivableDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2409405 - Disclosure - Summary of Significant Accounting Policies - Financial Instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Financial Instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2410406 - Disclosure - Summary of Significant Accounting Policies - Fair Value Rollforward (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Fair Value Rollforward (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2411407 - Disclosure - Summary of Significant Accounting Policies - Long-lived Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Long-lived Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2412408 - Disclosure - Summary of Significant Accounting Policies - Concentration Risk (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Concentration Risk (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2413409 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Income (Loss) per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Income (Loss) per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2414410 - Disclosure - Summary of Significant Accounting Policies - Net Loss Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Net Loss Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2415411 - Disclosure - Summary of Significant Accounting Policies - Advertising Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpensesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Advertising Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2416412 - Disclosure - Summary of Significant Accounting Policies - Product Warranties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Product Warranties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2417413 - Disclosure - Summary of Significant Accounting Policies - Schedule of Warranty Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Schedule of Warranty Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2420414 - Disclosure - Restructuring - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/RestructuringNarrativeDetails</Role>
      <ShortName>Restructuring - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2421415 - Disclosure - Restructuring - Reconciliation of Restructuring Liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails</Role>
      <ShortName>Restructuring - Reconciliation of Restructuring Liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2424416 - Disclosure - Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesNarrativeDetails</Role>
      <ShortName>Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2425417 - Disclosure - Leases - Components of Lease Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails</Role>
      <ShortName>Leases - Components of Lease Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2426418 - Disclosure - Leases - Schedule of Supplemental Balance Sheet Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails</Role>
      <ShortName>Leases - Schedule of Supplemental Balance Sheet Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>2427419 - Disclosure - Leases - Schedule of Future Maturities of Lease Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails</Role>
      <ShortName>Leases - Schedule of Future Maturities of Lease Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>2428420 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails</Role>
      <ShortName>Leases - Schedule of Supplemental Cash Flow Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>2431421 - Disclosure - Inventories - Schedule of Inventory (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails</Role>
      <ShortName>Inventories - Schedule of Inventory (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>2432422 - Disclosure - Inventories - Reserve Rollforward (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails</Role>
      <ShortName>Inventories - Reserve Rollforward (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>2433423 - Disclosure - Inventories - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/InventoriesNarrativeDetails</Role>
      <ShortName>Inventories - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>2436424 - Disclosure - Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PropertyandEquipmentDetails</Role>
      <ShortName>Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/PropertyandEquipmentTables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>2439425 - Disclosure - Prepaid Expenses and Other Current Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails</Role>
      <ShortName>Prepaid Expenses and Other Current Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>2441426 - Disclosure - Debt - Credit Facilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails</Role>
      <ShortName>Debt - Credit Facilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>2442427 - Disclosure - Debt - Streeterville Note (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails</Role>
      <ShortName>Debt - Streeterville Note (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>2443428 - Disclosure - Debt - PPP Loan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtPPPLoanDetails</Role>
      <ShortName>Debt - PPP Loan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>2444429 - Disclosure - Debt - Iliad Note (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtIliadNoteDetails</Role>
      <ShortName>Debt - Iliad Note (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>2445430 - Disclosure - Debt - Convertible Notes (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails</Role>
      <ShortName>Debt - Convertible Notes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>2447431 - Disclosure - Commitments and Contingencies - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails</Role>
      <ShortName>Commitments and Contingencies - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>2450432 - Disclosure - Stockholders' Equity - December 2021 Private Placement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails</Role>
      <ShortName>Stockholders' Equity - December 2021 Private Placement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>2451433 - Disclosure - Stockholders' Equity - Warrants Outstanding from the December 2021 Private Placement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails</Role>
      <ShortName>Stockholders' Equity - Warrants Outstanding from the December 2021 Private Placement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>2452434 - Disclosure - Stockholders' Equity - June 2021 Equity Offering (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails</Role>
      <ShortName>Stockholders' Equity - June 2021 Equity Offering (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>2453435 - Disclosure - Stockholders' Equity - Preferred Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails</Role>
      <ShortName>Stockholders' Equity - Preferred Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>2454436 - Disclosure - Stockholders' Equity - 1-for-5 Reverse Stock Split (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquity1for5ReverseStockSplitDetails</Role>
      <ShortName>Stockholders' Equity - 1-for-5 Reverse Stock Split (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>2455437 - Disclosure - Stockholders' Equity - January 2020 Equity Offering (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails</Role>
      <ShortName>Stockholders' Equity - January 2020 Equity Offering (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>2456438 - Disclosure - Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails</Role>
      <ShortName>Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>2457439 - Disclosure - Stockholders' Equity - Stock-based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails</Role>
      <ShortName>Stockholders' Equity - Stock-based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>2458440 - Disclosure - Stockholders' Equity - Impact of Results for Stock-Based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails</Role>
      <ShortName>Stockholders' Equity - Impact of Results for Stock-Based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>2459441 - Disclosure - Stockholders' Equity - Estimates Utilized (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails</Role>
      <ShortName>Stockholders' Equity - Estimates Utilized (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>2460442 - Disclosure - Stockholders' Equity - Stock Options Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails</Role>
      <ShortName>Stockholders' Equity - Stock Options Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>2461443 - Disclosure - Stockholders' Equity - Summary of Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails</Role>
      <ShortName>Stockholders' Equity - Summary of Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>2462444 - Disclosure - Stockholders' Equity - Options Outstanding and Exercisable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails</Role>
      <ShortName>Stockholders' Equity - Options Outstanding and Exercisable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>2463445 - Disclosure - Stockholders' Equity - Restricted Stock Units Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails</Role>
      <ShortName>Stockholders' Equity - Restricted Stock Units Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>2464446 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails</Role>
      <ShortName>Stockholders' Equity - Summary of Restricted Stock Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>2465447 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails</Role>
      <ShortName>Stockholders' Equity - Employee Stock Purchase Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>2468448 - Disclosure - Income Taxes - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails</Role>
      <ShortName>Income Taxes - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>2469449 - Disclosure - Income Taxes - Components (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails</Role>
      <ShortName>Income Taxes - Components (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>2470450 - Disclosure - Income Taxes - Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails</Role>
      <ShortName>Income Taxes - Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>2471451 - Disclosure - Income Taxes - Temporary Differences (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails</Role>
      <ShortName>Income Taxes - Temporary Differences (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>2474452 - Disclosure - Product and Geographic Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails</Role>
      <ShortName>Product and Geographic Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/ProductandGeographicInformationTables</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>2476453 - Disclosure - Other Income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/OtherIncomeDetails</Role>
      <ShortName>Other Income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/OtherIncome</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>2478454 - Disclosure - Related Party Transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails</Role>
      <ShortName>Related Party Transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/RelatedPartyTransactions</ParentRole>
      <Position>91</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>2482455 - Disclosure - Supplementary Financial Information to Item 8. (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details</Role>
      <ShortName>Supplementary Financial Information to Item 8. (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Tables</ParentRole>
      <Position>92</Position>
    </Report>
    <Report instance="efoi-20211231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>2484456 - Disclosure - Schedule II - Schedule of Valuation and Qualifying Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails</Role>
      <ShortName>Schedule II - Schedule of Valuation and Qualifying Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccounts</ParentRole>
      <Position>93</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" original="efoi-20211231.htm">efoi-20211231.htm</File>
    <File>efoi-20211231.xsd</File>
    <File>efoi-20211231_cal.xml</File>
    <File>efoi-20211231_def.xml</File>
    <File>efoi-20211231_lab.xml</File>
    <File>efoi-20211231_pre.xml</File>
    <File>ex211-10xk123121.htm</File>
    <File>ex231-10xk123121.htm</File>
    <File>ex311-10xk123121.htm</File>
    <File>ex312-10xk123121.htm</File>
    <File>ex321-10xk123121.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="915">http://fasb.org/us-gaap/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="38">http://xbrl.sec.gov/dei/2021q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>112
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "efoi-20211231.htm": {
   "axisCustom": 0,
   "axisStandard": 34,
   "contextCount": 267,
   "dts": {
    "calculationLink": {
     "local": [
      "efoi-20211231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "efoi-20211231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "efoi-20211231.htm"
     ]
    },
    "labelLink": {
     "local": [
      "efoi-20211231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "efoi-20211231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "efoi-20211231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd",
      "https://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"
     ]
    }
   },
   "elementCount": 678,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2021-01-31": 7,
    "http://www.energyfocusinc.com/20211231": 3,
    "http://xbrl.sec.gov/dei/2021q4": 5,
    "total": 15
   },
   "keyCustom": 73,
   "keyStandard": 435,
   "memberCustom": 52,
   "memberStandard": 41,
   "nsprefix": "efoi",
   "nsuri": "http://www.energyfocusinc.com/20211231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0001001 - Document - Cover Page",
     "role": "http://www.energyfocusinc.com/role/CoverPage",
     "shortName": "Cover Page",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2101101 - Disclosure - Nature of Operations",
     "role": "http://www.energyfocusinc.com/role/NatureofOperations",
     "shortName": "Nature of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2103102 - Disclosure - Summary of Significant Accounting Policies",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2118103 - Disclosure - Restructuring",
     "role": "http://www.energyfocusinc.com/role/Restructuring",
     "shortName": "Restructuring",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeFinanceLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2122104 - Disclosure - Leases",
     "role": "http://www.energyfocusinc.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeFinanceLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2129105 - Disclosure - Inventories",
     "role": "http://www.energyfocusinc.com/role/Inventories",
     "shortName": "Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2134106 - Disclosure - Property and Equipment",
     "role": "http://www.energyfocusinc.com/role/PropertyandEquipment",
     "shortName": "Property and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherCurrentAssetsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2137107 - Disclosure - Prepaid Expenses and Other Current Assets",
     "role": "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssets",
     "shortName": "Prepaid Expenses and Other Current Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherCurrentAssetsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2140108 - Disclosure - Debt",
     "role": "http://www.energyfocusinc.com/role/Debt",
     "shortName": "Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2146109 - Disclosure - Commitments and Contingencies",
     "role": "http://www.energyfocusinc.com/role/CommitmentsandContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2148110 - Disclosure - Stockholders' Equity",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquity",
     "shortName": "Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:AuditorFirmId",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "false",
     "longName": "0002002 - Document - Audit Information",
     "role": "http://www.energyfocusinc.com/role/AuditInformation",
     "shortName": "Audit Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:AuditorFirmId",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2166111 - Disclosure - Income Taxes",
     "role": "http://www.energyfocusinc.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2172112 - Disclosure - Product and Geographic Information",
     "role": "http://www.energyfocusinc.com/role/ProductandGeographicInformation",
     "shortName": "Product and Geographic Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2175113 - Disclosure - Other Income",
     "role": "http://www.energyfocusinc.com/role/OtherIncome",
     "shortName": "Other Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2177114 - Disclosure - Related Party Transactions",
     "role": "http://www.energyfocusinc.com/role/RelatedPartyTransactions",
     "shortName": "Related Party Transactions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2179115 - Disclosure - Legal Matters",
     "role": "http://www.energyfocusinc.com/role/LegalMatters",
     "shortName": "Legal Matters",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LegalMattersAndContingenciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2180116 - Disclosure - Supplementary Financial Information to Item 8.",
     "role": "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8",
     "shortName": "Supplementary Financial Information to Item 8.",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2183117 - Disclosure - Schedule II - Schedule of Valuation and Qualifying Accounts",
     "role": "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccounts",
     "shortName": "Schedule II - Schedule of Valuation and Qualifying Accounts",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2204201 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2305301 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesTables",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2319302 - Disclosure - Restructuring Restructuring (Tables)",
     "role": "http://www.energyfocusinc.com/role/RestructuringRestructuringTables",
     "shortName": "Restructuring Restructuring (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1001003 - Statement - Consolidated Balance Sheets",
     "role": "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2323303 - Disclosure - Leases (Tables)",
     "role": "http://www.energyfocusinc.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2330304 - Disclosure - Inventories Inventories (Tables)",
     "role": "http://www.energyfocusinc.com/role/InventoriesInventoriesTables",
     "shortName": "Inventories Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2335305 - Disclosure - Property and Equipment (Tables)",
     "role": "http://www.energyfocusinc.com/role/PropertyandEquipmentTables",
     "shortName": "Property and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2338306 - Disclosure - Prepaid Expenses and Other Current Assets (Tables)",
     "role": "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsTables",
     "shortName": "Prepaid Expenses and Other Current Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2349307 - Disclosure - Stockholders' Equity (Tables)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityTables",
     "shortName": "Stockholders' Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2367308 - Disclosure - Income Taxes (Tables)",
     "role": "http://www.energyfocusinc.com/role/IncomeTaxesTables",
     "shortName": "Income Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2373309 - Disclosure - Product and Geographic Information (Tables)",
     "role": "http://www.energyfocusinc.com/role/ProductandGeographicInformationTables",
     "shortName": "Product and Geographic Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2381310 - Disclosure - Supplementary Financial Information to Item 8. (Tables)",
     "role": "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Tables",
     "shortName": "Supplementary Financial Information to Item 8. (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2402401 - Disclosure - Nature of Operations - Narrative (Details)",
     "role": "http://www.energyfocusinc.com/role/NatureofOperationsNarrativeDetails",
     "shortName": "Nature of Operations - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2406402 - Disclosure - Summary of Significant Accounting Policies - Cash and Cash Equivalents (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails",
     "shortName": "Summary of Significant Accounting Policies - Cash and Cash Equivalents (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002004 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:InventoryPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "efoi:IncreaseDecreaseInInventoryLevelsGross",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2407403 - Disclosure - Summary of Significant Accounting Policies - Inventories (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesInventoriesDetails",
     "shortName": "Summary of Significant Accounting Policies - Inventories (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "efoi:ContractWithCustomerPaymentTerms",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2408404 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAccountsReceivableDetails",
     "shortName": "Summary of Significant Accounting Policies - Accounts Receivable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "efoi:ContractWithCustomerPaymentTerms",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:FairValueMeasurementPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PaymentsForClearingFees",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2409405 - Disclosure - Summary of Significant Accounting Policies - Financial Instruments (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
     "shortName": "Summary of Significant Accounting Policies - Financial Instruments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:FairValueMeasurementPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ib1360804400a46b29e810150f3ae74b2_D20210101-20211231",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAdjustmentOfWarrants",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2410406 - Disclosure - Summary of Significant Accounting Policies - Fair Value Rollforward (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails",
     "shortName": "Summary of Significant Accounting Policies - Fair Value Rollforward (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "iea9fe4df11ca499a8ed5718af6f1e6ee_I20191231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:OtherDeferredCompensationArrangementsLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "efoi:LongLivedAssetsPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i131e048a20ad40778e3bce72ff3d1b56_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2411407 - Disclosure - Summary of Significant Accounting Policies - Long-lived Assets (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails",
     "shortName": "Summary of Significant Accounting Policies - Long-lived Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:ConcentrationRiskCreditRisk",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Supplies",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412408 - Disclosure - Summary of Significant Accounting Policies - Concentration Risk (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails",
     "shortName": "Summary of Significant Accounting Policies - Concentration Risk (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:ConcentrationRiskCreditRisk",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Supplies",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413409 - Disclosure - Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Income (Loss) per Share (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails",
     "shortName": "Summary of Significant Accounting Policies - Reconciliation of Basic and Diluted Income (Loss) per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ib1360804400a46b29e810150f3ae74b2_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "efoi:ClassOfWarrantOrRightWarrantsIssued",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2414410 - Disclosure - Summary of Significant Accounting Policies - Net Loss Per Share (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails",
     "shortName": "Summary of Significant Accounting Policies - Net Loss Per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i851a20cb6a754010b44d41cba9df3b6b_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AdvertisingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2415411 - Disclosure - Summary of Significant Accounting Policies - Advertising Expenses (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpensesDetails",
     "shortName": "Summary of Significant Accounting Policies - Advertising Expenses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AdvertisingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "efoi:StandardProductWarrantyNumberofYears",
       "span",
       "div",
       "us-gaap:StandardProductWarrantyPolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ib47a6ee10bab469bbc27f70f2ce480f9_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "efoi:StandardProductWarrantyNumberofYears",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2416412 - Disclosure - Summary of Significant Accounting Policies - Product Warranties (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails",
     "shortName": "Summary of Significant Accounting Policies - Product Warranties (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "efoi:StandardProductWarrantyNumberofYears",
       "span",
       "div",
       "us-gaap:StandardProductWarrantyPolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ib47a6ee10bab469bbc27f70f2ce480f9_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "efoi:StandardProductWarrantyNumberofYears",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003005 - Statement - Consolidated Statements of Operations",
     "role": "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
     "shortName": "Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i902bade71e834f7f9e25997670e249f2_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StandardProductWarrantyAccrualCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2417413 - Disclosure - Summary of Significant Accounting Policies - Schedule of Warranty Activity (Details)",
     "role": "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails",
     "shortName": "Summary of Significant Accounting Policies - Schedule of Warranty Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i3294dbcf1a9747dba52da6a9462883b6_I20191231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:StandardProductWarrantyAccrualCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2420414 - Disclosure - Restructuring - Narrative (Details)",
     "role": "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
     "shortName": "Restructuring - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ie36d68bd24994a9e9a48cb302763ddf6_I20200630",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestructuringReserveCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2421415 - Disclosure - Restructuring - Reconciliation of Restructuring Liability (Details)",
     "role": "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails",
     "shortName": "Restructuring - Reconciliation of Restructuring Liability (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i1f183382bd22428686ea1fa5147a3e6f_I20191231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:RestructuringReserve",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "4",
      "first": true,
      "lang": "en-US",
      "name": "efoi:LesseeOperatingLeaseInterestRateEffectiveRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2424416 - Disclosure - Leases - Narrative (Details)",
     "role": "http://www.energyfocusinc.com/role/LeasesNarrativeDetails",
     "shortName": "Leases - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "4",
      "first": true,
      "lang": "en-US",
      "name": "efoi:LesseeOperatingLeaseInterestRateEffectiveRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubleaseIncome",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2425417 - Disclosure - Leases - Components of Lease Cost (Details)",
     "role": "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails",
     "shortName": "Leases - Components of Lease Cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubleaseIncome",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2426418 - Disclosure - Leases - Schedule of Supplemental Balance Sheet Information (Details)",
     "role": "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails",
     "shortName": "Leases - Schedule of Supplemental Balance Sheet Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "efoi:LeaseSupplementalBalanceSheetInformationTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "efoi:OperatingLeaseRightofUseAssetIncludingRestructuredLeases",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2427419 - Disclosure - Leases - Schedule of Future Maturities of Lease Liabilities (Details)",
     "role": "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails",
     "shortName": "Leases - Schedule of Future Maturities of Lease Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2428420 - Disclosure - Leases - Schedule of Supplemental Cash Flow Information (Details)",
     "role": "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails",
     "shortName": "Leases - Schedule of Supplemental Cash Flow Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "efoi:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2431421 - Disclosure - Inventories - Schedule of Inventory (Details)",
     "role": "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails",
     "shortName": "Inventories - Schedule of Inventory (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i902bade71e834f7f9e25997670e249f2_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:InventoryValuationReservesRawMaterials",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2432422 - Disclosure - Inventories - Reserve Rollforward (Details)",
     "role": "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails",
     "shortName": "Inventories - Reserve Rollforward (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i3294dbcf1a9747dba52da6a9462883b6_I20191231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "efoi:InventoryValuationReservesRawMaterials",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": null,
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004006 - Statement - Consolidated Statements of Operations (Paranthetical)",
     "role": "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperationsParanthetical",
     "shortName": "Consolidated Statements of Operations (Paranthetical)",
     "subGroupType": "",
     "uniqueAnchor": null
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:InventoryPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "efoi:IncreaseDecreaseInInventoryLevelsGross",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2433423 - Disclosure - Inventories - Narrative (Details)",
     "role": "http://www.energyfocusinc.com/role/InventoriesNarrativeDetails",
     "shortName": "Inventories - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2436424 - Disclosure - Property and Equipment (Details)",
     "role": "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails",
     "shortName": "Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PrepaidInsurance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2439425 - Disclosure - Prepaid Expenses and Other Current Assets (Details)",
     "role": "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails",
     "shortName": "Prepaid Expenses and Other Current Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PrepaidInsurance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "idaf6193742c24231b85ad8babc0de26d_I20200811",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "efoi:DebtInstrumentNumberOfCreditFacilities",
      "reportCount": 1,
      "unitRef": "creditfacility",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2441426 - Disclosure - Debt - Credit Facilities (Details)",
     "role": "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
     "shortName": "Debt - Credit Facilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "idaf6193742c24231b85ad8babc0de26d_I20200811",
      "decimals": "-5",
      "lang": "en-US",
      "name": "efoi:LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "if144a899302d4dcc9da1823f257a72cf_D20210401-20210430",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProceedsFromIssuanceOfDebt",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2442427 - Disclosure - Debt - Streeterville Note (Details)",
     "role": "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails",
     "shortName": "Debt - Streeterville Note (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "if964e91e61a049199762807497f4fe6d_I20210427",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PaymentProtectionProgramCurrent",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2443428 - Disclosure - Debt - PPP Loan (Details)",
     "role": "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
     "shortName": "Debt - PPP Loan (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "if144a899302d4dcc9da1823f257a72cf_D20210401-20210430",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProceedsFromIssuanceOfDebt",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2444429 - Disclosure - Debt - Iliad Note (Details)",
     "role": "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
     "shortName": "Debt - Iliad Note (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i90c085f859574bfebac847d55bbc3e34_I20191125",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:DebtInstrumentFaceAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2445430 - Disclosure - Debt - Convertible Notes (Details)",
     "role": "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
     "shortName": "Debt - Convertible Notes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "icdcfe2637deb4eb98cdaa89aec70b7f3_D20190329-20190329",
      "decimals": "-5",
      "lang": "en-US",
      "name": "us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PurchaseObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2447431 - Disclosure - Commitments and Contingencies - Narrative (Details)",
     "role": "http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails",
     "shortName": "Commitments and Contingencies - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-5",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PurchaseObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:FairValueMeasurementPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PaymentsForClearingFees",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2450432 - Disclosure - Stockholders' Equity - December 2021 Private Placement (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
     "shortName": "Stockholders' Equity - December 2021 Private Placement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005007 - Statement - Consolidated Statements of Comprehensive Loss",
     "role": "http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss",
     "shortName": "Consolidated Statements of Comprehensive Loss",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ib1360804400a46b29e810150f3ae74b2_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "efoi:ClassOfWarrantOrRightWarrantsIssued",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2451433 - Disclosure - Stockholders' Equity - Warrants Outstanding from the December 2021 Private Placement (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
     "shortName": "Stockholders' Equity - Warrants Outstanding from the December 2021 Private Placement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:FairValueMeasurementPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PaymentsForClearingFees",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2452434 - Disclosure - Stockholders' Equity - June 2021 Equity Offering (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
     "shortName": "Stockholders' Equity - June 2021 Equity Offering (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2453435 - Disclosure - Stockholders' Equity - Preferred Stock (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails",
     "shortName": "Stockholders' Equity - Preferred Stock (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "if45ec14e9ce748d5b1610444fdeb4d51_I20211231",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:ConvertiblePreferredStockSharesIssuedUponConversion",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2454436 - Disclosure - Stockholders' Equity - 1-for-5 Reverse Stock Split (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquity1for5ReverseStockSplitDetails",
     "shortName": "Stockholders' Equity - 1-for-5 Reverse Stock Split (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:FairValueMeasurementPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "ie831c8aa62e1461e9346c4bbab4bc485_D20200101-20200131",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PaymentsForClearingFees",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2455437 - Disclosure - Stockholders' Equity - January 2020 Equity Offering (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
     "shortName": "Stockholders' Equity - January 2020 Equity Offering (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "us-gaap:FairValueMeasurementPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i22825782b9084bab96299f33f2d30063_D20211001-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "efoi:ClassOfWarrantOrRightWarrantsIssued",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2456438 - Disclosure - Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
     "shortName": "Stockholders' Equity - Outstanding Warrants from the January 2020 Equity Offering (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2457439 - Disclosure - Stockholders' Equity - Stock-based Compensation (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails",
     "shortName": "Stockholders' Equity - Stock-based Compensation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2458440 - Disclosure - Stockholders' Equity - Impact of Results for Stock-Based Compensation (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails",
     "shortName": "Stockholders' Equity - Impact of Results for Stock-Based Compensation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2459441 - Disclosure - Stockholders' Equity - Estimates Utilized (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
     "shortName": "Stockholders' Equity - Estimates Utilized (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i93476ff4e70046ad81c09f08f9c0bc64_D20210101-20211231",
      "decimals": "2",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usdPerShare",
      "xsiNil": "false"
     }
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2460442 - Disclosure - Stockholders' Equity - Stock Options Narrative (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
     "shortName": "Stockholders' Equity - Stock Options Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i8ef81b3ca36b41809c79c3c111f3456a_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1006008 - Statement - Consolidated Statements of Stockholders' Equity",
     "role": "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
     "shortName": "Consolidated Statements of Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i8ef81b3ca36b41809c79c3c111f3456a_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i902bade71e834f7f9e25997670e249f2_I20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2461443 - Disclosure - Stockholders' Equity - Summary of Option Activity (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails",
     "shortName": "Stockholders' Equity - Summary of Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i3294dbcf1a9747dba52da6a9462883b6_I20191231",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2462444 - Disclosure - Stockholders' Equity - Options Outstanding and Exercisable (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails",
     "shortName": "Stockholders' Equity - Options Outstanding and Exercisable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i4ff91b791919436d91bf7fecc7a86b8a_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2463445 - Disclosure - Stockholders' Equity - Restricted Stock Units Narrative (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
     "shortName": "Stockholders' Equity - Restricted Stock Units Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i4ff91b791919436d91bf7fecc7a86b8a_D20210101-20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i3db4a53ab94249ca8f416d280f4a7609_I20201231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2464446 - Disclosure - Stockholders' Equity - Summary of Restricted Stock Activity (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails",
     "shortName": "Stockholders' Equity - Summary of Restricted Stock Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i683a1c383f14479db04e359bb44dc770_I20191231",
      "decimals": "INF",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i7798c1a139c1494fa683aabbf81de26c_I20130930",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2465447 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plans (Details)",
     "role": "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
     "shortName": "Stockholders' Equity - Employee Stock Purchase Plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i7798c1a139c1494fa683aabbf81de26c_I20130930",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2468448 - Disclosure - Income Taxes - Narrative (Details)",
     "role": "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails",
     "shortName": "Income Taxes - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CurrentStateAndLocalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2469449 - Disclosure - Income Taxes - Components (Details)",
     "role": "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails",
     "shortName": "Income Taxes - Components (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CurrentStateAndLocalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2470450 - Disclosure - Income Taxes - Reconciliation (Details)",
     "role": "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails",
     "shortName": "Income Taxes - Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "INF",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2471451 - Disclosure - Income Taxes - Temporary Differences (Details)",
     "role": "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails",
     "shortName": "Income Taxes - Temporary Differences (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i9f73e56b185c477d9990315664de9839_I20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2474452 - Disclosure - Product and Geographic Information (Details)",
     "role": "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails",
     "shortName": "Product and Geographic Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i7f06ae07d18848d594df88fe8d7cfc70_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1007009 - Statement - Consolidated Statements of Cash Flows",
     "role": "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i5a9cc399b7534615a31d5101868a2b7e_D20210101-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2476453 - Disclosure - Other Income (Details)",
     "role": "http://www.energyfocusinc.com/role/OtherIncomeDetails",
     "shortName": "Other Income (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i8ceaadf37ddf4323b6ede32586a81d9e_D20210701-20210930",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i0501a64963994dacaa526c0a82bd81fc_I20211231",
      "decimals": "3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2478454 - Disclosure - Related Party Transactions (Details)",
     "role": "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails",
     "shortName": "Related Party Transactions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i0501a64963994dacaa526c0a82bd81fc_I20211231",
      "decimals": "3",
      "first": true,
      "lang": "en-US",
      "name": "efoi:RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R92": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:Revenues",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2482455 - Disclosure - Supplementary Financial Information to Item 8. (Details)",
     "role": "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details",
     "shortName": "Supplementary Financial Information to Item 8. (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i707c00d290fc4ee1aab7ed43f57ded42_D20211001-20211231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:GrossProfit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R93": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i470ca8126ea5433aac9f7fd8d9230dee_I20201231",
      "decimals": "-3",
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2484456 - Disclosure - Schedule II - Schedule of Valuation and Qualifying Accounts (Details)",
     "role": "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails",
     "shortName": "Schedule II - Schedule of Valuation and Qualifying Accounts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "efoi-20211231.htm",
      "contextRef": "i15d2a29dd4644d06a4ed9d981c8d9103_I20191231",
      "decimals": "-3",
      "lang": "en-US",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 97,
   "tag": {
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2021",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r626",
      "r627",
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID",
        "terseLabel": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/AuditInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r626",
      "r627",
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location",
        "terseLabel": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/AuditInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r626",
      "r627",
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name",
        "terseLabel": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/AuditInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r626",
      "r627",
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report",
        "terseLabel": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r629"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r624"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]",
        "terseLabel": "Documents Incorporated by Reference"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two",
        "terseLabel": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]",
        "terseLabel": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r631"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float",
        "terseLabel": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r623"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers",
        "terseLabel": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r645"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer",
        "terseLabel": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r626",
      "r627",
      "r628"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag",
        "terseLabel": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]",
        "terseLabel": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r622"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r625"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://www.energyfocusinc.com/role/CoverPage"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "efoi_A13DGroupMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "13D Group [Member]",
        "label": "13D Group [Member]",
        "terseLabel": "13D Group"
       }
      }
     },
     "localname": "A13DGroupMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_A5ElementsEnergyEfficienciesBVILtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "5 Elements Energy Efficiencies (BVI) Ltd.",
        "label": "5 Elements Energy Efficiencies (BVI) Ltd. [Member]",
        "terseLabel": "5 Elements Energy Efficiencies (BVI) Ltd."
       }
      }
     },
     "localname": "A5ElementsEnergyEfficienciesBVILtdMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_A5ElementsGlobalAdvisorsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "5 Elements Global Advisors [Member]",
        "label": "5 Elements Global Advisors [Member]",
        "terseLabel": "5 Elements Global Advisors"
       }
      }
     },
     "localname": "A5ElementsGlobalAdvisorsMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_AccumulatedInterestOnSubordinatedDebt": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated Interest on Subordinated Debt",
        "label": "Accumulated Interest on Subordinated Debt",
        "terseLabel": "Accumulated interest"
       }
      }
     },
     "localname": "AccumulatedInterestOnSubordinatedDebt",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_AdjustmentsToAdditionalPaidInCapitalWarrantReclassified": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustments to Additional Paid in Capital, Warrant Reclassified",
        "label": "Adjustments to Additional Paid in Capital, Warrant Reclassified",
        "negatedTerseLabel": "Warrant liability - modification",
        "terseLabel": "Warrant liability - modification"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalWarrantReclassified",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_AuditInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Audit Information [Abstract]",
        "label": "Audit Information [Abstract]"
       }
      }
     },
     "localname": "AuditInformationAbstract",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "xbrltype": "stringItemType"
    },
    "efoi_AustinCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Austin Credit Facility",
        "label": "Austin Credit Facility [Member]",
        "terseLabel": "Austin Credit Facility"
       }
      }
     },
     "localname": "AustinCreditFacilityMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_AustinFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Austin Facility",
        "label": "Austin Facility [Member]",
        "terseLabel": "Austin Facility"
       }
      }
     },
     "localname": "AustinFacilityMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_BrilliantStartEnterpriseInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Brilliant Start Enterprise, Inc. [Member]",
        "label": "Brilliant Start Enterprise, Inc. [Member]",
        "terseLabel": "Brilliant Start Enterprise, Inc."
       }
      }
     },
     "localname": "BrilliantStartEnterpriseInc.Member",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ClassOfWarrantOrRightWarrantsIssued": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class Of Warrant Or Right, Warrants Issued",
        "label": "Class Of Warrant Or Right, Warrants Issued",
        "terseLabel": "Number of warrants issued (in shares)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightWarrantsIssued",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "efoi_ClassOfWarrantOrRightWarrantsIssuedPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class Of Warrant Or Right, Warrants Issued, Price Per Share",
        "label": "Class Of Warrant Or Right, Warrants Issued, Price Per Share",
        "terseLabel": "Purchase price (in dollars per share)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightWarrantsIssuedPricePerShare",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "efoi_CommercialProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial Products",
        "label": "Commercial Products [Member]",
        "terseLabel": "Commercial Products"
       }
      }
     },
     "localname": "CommercialProductsMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_CommunalInternationalLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Communal International Ltd.",
        "label": "Communal International Ltd. [Member]",
        "terseLabel": "Communal International Ltd."
       }
      }
     },
     "localname": "CommunalInternationalLtdMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_CommunalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Communal [Member]",
        "terseLabel": "Communal"
       }
      }
     },
     "localname": "CommunalMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ContractWithCustomerPaymentTerms": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contract With Customer, Payment Terms",
        "label": "Contract With Customer, Payment Terms",
        "terseLabel": "Payment terms"
       }
      }
     },
     "localname": "ContractWithCustomerPaymentTerms",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAccountsReceivableDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "efoi_CreditFacilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Credit Facilities",
        "label": "Credit Facilities [Member]",
        "terseLabel": "Credit Facilities"
       }
      }
     },
     "localname": "CreditFacilitiesMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DebtInstrumentBaseRateVariable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Base Rate, Variable",
        "label": "Debt Instrument, Base Rate, Variable",
        "terseLabel": "Variable interest rate, base"
       }
      }
     },
     "localname": "DebtInstrumentBaseRateVariable",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_DebtInstrumentInterestRateStatedPercentageCollateralManagementFee": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Interest Rate, Stated Percentage, Collateral Management Fee",
        "label": "Debt Instrument, Interest Rate, Stated Percentage, Collateral Management Fee",
        "terseLabel": "Stated interest rate on collateral management fee"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentageCollateralManagementFee",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_DebtInstrumentNumberOfCreditFacilities": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Number Of Credit Facilities",
        "label": "Debt Instrument, Number Of Credit Facilities",
        "terseLabel": "Number of new credit facilities"
       }
      }
     },
     "localname": "DebtInstrumentNumberOfCreditFacilities",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "efoi_DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Percentage Increase If Delisted From Security Exchange",
        "label": "Debt Instrument, Percentage Increase If Delisted From Security Exchange",
        "terseLabel": "Percentage increase if delisted from Nasdaq"
       }
      }
     },
     "localname": "DebtInstrumentPercentageIncreaseIfDelistedFromSecurityExchange",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_DebtInstrumentPrepaymentPremiumPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Prepayment Premium, Percent",
        "label": "Debt Instrument, Prepayment Premium, Percent",
        "terseLabel": "Prepayment premium"
       }
      }
     },
     "localname": "DebtInstrumentPrepaymentPremiumPercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_DebtInstrumentProceedsToBePaidToLenderPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Proceeds To Be Paid To Lender, Percent",
        "label": "Debt Instrument, Proceeds To Be Paid To Lender, Percent",
        "terseLabel": "Percent proceeds to be paid to Lender"
       }
      }
     },
     "localname": "DebtInstrumentProceedsToBePaidToLenderPercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals",
        "label": "Debt Instrument, Right To Defer Mandatory Redemption, Number Of Deferrals",
        "terseLabel": "Right to defer mandatory redemption, number of deferrals"
       }
      }
     },
     "localname": "DebtInstrumentRightToDeferMandatoryRedemptionNumberOfDeferrals",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "efoi_DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Instrument Subject To Mandatory Redemption, Maximum Amount",
        "label": "Debt Instrument Subject To Mandatory Redemption, Maximum Amount",
        "terseLabel": "Maximum redemption amount"
       }
      }
     },
     "localname": "DebtInstrumentSubjectToMandatoryRedemptionMaximumAmount",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_DebtPrepaymentMaximumPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt Prepayment Maximum, Percentage",
        "label": "Debt Prepayment Maximum, Percentage",
        "terseLabel": "Debt Prepayment Maximum, Percentage"
       }
      }
     },
     "localname": "DebtPrepaymentMaximumPercentage",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_December2021PrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "December 2021 Private Placement",
        "label": "December 2021 Private Placement [Member]",
        "terseLabel": "December 2021 Private Placement"
       }
      }
     },
     "localname": "December2021PrivatePlacementMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DeferredTaxAssetsLeasingArrangements": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Assets, Leasing Arrangements",
        "label": "Deferred Tax Assets, Leasing Arrangements",
        "terseLabel": "Lease liabilities"
       }
      }
     },
     "localname": "DeferredTaxAssetsLeasingArrangements",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Portion Available After Application Of IRC Section 382 Limitations",
        "terseLabel": "Deferred tax assets, operating loss carryforwards, portion available after application of IRC Section 382 limitations"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsPortionAvailableAfterApplicationOfIRCSection382Limitations",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_DistributorToTheU.S.NavyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Distributor To The U.S. Navy [Member]",
        "label": "Distributor To The U.S. Navy [Member]",
        "terseLabel": "Distributor To The U.S. Navy"
       }
      }
     },
     "localname": "DistributorToTheU.S.NavyMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DistributorToTheUSDepartmentOfDefenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Distributor To The U.S. Department Of Defense",
        "label": "Distributor To The U.S. Department Of Defense [Member]",
        "terseLabel": "Distributor To The U.S. Department Of Defense"
       }
      }
     },
     "localname": "DistributorToTheUSDepartmentOfDefenseMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DistributorToUSNavyCombinedWithSalesToShipbuildersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Distributor To U.S. Navy Combined With Sales To Shipbuilders",
        "label": "Distributor To U.S. Navy Combined With Sales To Shipbuilders [Member]",
        "terseLabel": "Distributor To U.S. Navy Combined With Sales To Shipbuilders"
       }
      }
     },
     "localname": "DistributorToUSNavyCombinedWithSalesToShipbuildersMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_DomesticSupplierMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Domestic Supplier",
        "label": "Domestic Supplier [Member]",
        "terseLabel": "Domestic Supplier"
       }
      }
     },
     "localname": "DomesticSupplierMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_EmployeeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee",
        "label": "Employee [Member]",
        "terseLabel": "Employee"
       }
      }
     },
     "localname": "EmployeeMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_EmployeeStockPurchasePlan2013Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information related to the employee stock purchase plan approved in 2013.",
        "label": "Employee Stock Purchase Plan 2013 [Member]",
        "terseLabel": "2013 Plan"
       }
      }
     },
     "localname": "EmployeeStockPurchasePlan2013Member",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_EmployerDeferredPayrollTaxesLiabilityCARESAct": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employer Deferred Payroll Taxes, Liability, CARES Act",
        "label": "Employer Deferred Payroll Taxes, Liability, CARES Act",
        "terseLabel": "Deferred payroll taxes, CARES Act"
       }
      }
     },
     "localname": "EmployerDeferredPayrollTaxesLiabilityCARESAct",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_EstimatedProceedsFromIssuanceOfWarrants": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Estimated Proceeds From Issuance Of Warrants",
        "label": "Estimated Proceeds From Issuance Of Warrants",
        "terseLabel": "Estimated proceeds from issuance of warrants"
       }
      }
     },
     "localname": "EstimatedProceedsFromIssuanceOfWarrants",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_ExercisePriceRangeFiveMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise Price Range Five",
        "label": "Exercise Price Range Five [Member]",
        "terseLabel": "Exercise price, range five"
       }
      }
     },
     "localname": "ExercisePriceRangeFiveMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ExercisePriceRangeFourMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The third exercise price range.",
        "label": "Exercise Price Range Four [Member]",
        "terseLabel": "Exercise price, range four"
       }
      }
     },
     "localname": "ExercisePriceRangeFourMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ExercisePriceRangeOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The first exercise price range.",
        "label": "Exercise Price Range One [Member]",
        "terseLabel": "Exercise price, range one"
       }
      }
     },
     "localname": "ExercisePriceRangeOneMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ExercisePriceRangeThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The third exercise price range.",
        "label": "Exercise Price Range Three [Member]",
        "terseLabel": "Exercise price, range three"
       }
      }
     },
     "localname": "ExercisePriceRangeThreeMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ExercisePriceRangeTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The second exercise price range.",
        "label": "Exercise Price Range Two [Member]",
        "terseLabel": "Exercise price, range two"
       }
      }
     },
     "localname": "ExercisePriceRangeTwoMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_FinanceLeaseAssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance Lease, Assets And Liabilities, Lessee",
        "label": "Finance Lease, Assets And Liabilities, Lessee [Abstract]",
        "terseLabel": "Finance Leases"
       }
      }
     },
     "localname": "FinanceLeaseAssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_FinanceLeaseRightOfUseAssetAccumulatedDepreciation": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance Lease, Right-Of-Use Asset, Accumulated Depreciation",
        "label": "Finance Lease, Right-Of-Use Asset, Accumulated Depreciation",
        "negatedTerseLabel": "Allowances for depreciation"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAccumulatedDepreciation",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_FinanceLeaseRightOfUseAssetGross": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseRightOfUseAsset",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finance Lease, Right-Of-Use Asset, Gross",
        "label": "Finance Lease, Right-Of-Use Asset, Gross",
        "terseLabel": "Property and equipment"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetGross",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_FiveElementsEfficientiesBVILtdMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "5 Elements Efficienties (BVI) Ltd.",
        "label": "Five Elements Efficienties BVI Ltd [Member]",
        "terseLabel": "5 Elements Efficiencies (BVI) Ltd."
       }
      }
     },
     "localname": "FiveElementsEfficientiesBVILtdMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_FusionParkLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fusion Park LLC",
        "label": "Fusion Park LLC [Member]",
        "terseLabel": "Fusion Park LLC"
       }
      }
     },
     "localname": "FusionParkLLCMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_GainLossFromEmployeeRetentionTaxCredit": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 7.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "(Gain) Loss From Employee Retention Tax Credit",
        "label": "(Gain) Loss From Employee Retention Tax Credit",
        "negatedTerseLabel": "Other income - employee retention tax credit"
       }
      }
     },
     "localname": "GainLossFromEmployeeRetentionTaxCredit",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_GainLossOnForgivenessOfDebt": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 6.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gain (Loss) On Forgiveness Of Debt",
        "label": "Gain (Loss) On Forgiveness Of Debt",
        "negatedTerseLabel": "Gain on forgiveness of PPP loan",
        "terseLabel": "Gain on forgiveness of PPP loan"
       }
      }
     },
     "localname": "GainLossOnForgivenessOfDebt",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_GovernmentProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Government Products segment.",
        "label": "Government Products [Member]",
        "terseLabel": "MMM products"
       }
      }
     },
     "localname": "GovernmentProductsMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_IliadNotePurchaseAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Iliad Note Purchase Agreement",
        "label": "Iliad Note Purchase Agreement [Member]",
        "terseLabel": "Iliad Note"
       }
      }
     },
     "localname": "IliadNotePurchaseAgreementMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_IncreaseDecreaseInInventoryLevelsGross": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) In Inventory Levels, Gross",
        "label": "Increase (Decrease) In Inventory Levels, Gross",
        "terseLabel": "Reduction of gross inventory levels"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventoryLevelsGross",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesNarrativeDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_IncreaseDecreaseInInventoryReserves": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) In Inventory Reserves",
        "label": "Increase (Decrease) In Inventory Reserves",
        "terseLabel": "Increase (decrease) of excess inventory reserves"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventoryReserves",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesNarrativeDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_IncreaseDecreaseInProvisionForWarranties": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase (Decrease) In Provision For Warranties",
        "label": "Increase (Decrease) In Provision For Warranties",
        "terseLabel": "Provision for warranties"
       }
      }
     },
     "localname": "IncreaseDecreaseInProvisionForWarranties",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_InstitutionalInvestorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Institutional Investor",
        "label": "Institutional Investor [Member]",
        "terseLabel": "Investor Warrants",
        "verboseLabel": "Equity Offering"
       }
      }
     },
     "localname": "InstitutionalInvestorMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_InternationalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "International",
        "label": "International [Member]",
        "terseLabel": "International"
       }
      }
     },
     "localname": "InternationalMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_InventoryFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Facility",
        "label": "Inventory Facility [Member]",
        "terseLabel": "Inventory Facility"
       }
      }
     },
     "localname": "InventoryFacilityMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_InventoryReserveRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory, Reserve",
        "label": "Inventory, Reserve [Roll Forward]",
        "terseLabel": "Inventory, Reserve [Roll Forward]"
       }
      }
     },
     "localname": "InventoryReserveRollForward",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_InventoryValuationReservesProvisionAccrual": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Valuation Reserves, Provision (Accrual)",
        "label": "Inventory Valuation Reserves, Provision (Accrual)",
        "terseLabel": "Accrual"
       }
      }
     },
     "localname": "InventoryValuationReservesProvisionAccrual",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_InventoryValuationReservesRawMaterials": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Valuation Reserves, Raw Materials",
        "label": "Inventory Valuation Reserves, Raw Materials",
        "negatedPeriodEndLabel": "Reserves for excess, obsolete, and slow-moving inventories",
        "negatedPeriodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "InventoryValuationReservesRawMaterials",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_InventoryValuationReservesSalesOfInventory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inventory Valuation Reserves, Sales Of Inventory",
        "label": "Inventory Valuation Reserves, Sales Of Inventory",
        "terseLabel": "Reduction due to sold inventory"
       }
      }
     },
     "localname": "InventoryValuationReservesSalesOfInventory",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesReserveRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_JamesTuThroughFusionParkLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "James Tu Through Fusion Park LLC [Member]",
        "label": "James Tu Through Fusion Park LLC [Member]",
        "terseLabel": "James Tu Through Fusion Park LLC"
       }
      }
     },
     "localname": "JamesTuThroughFusionParkLLCMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2020EquityOfferingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2020 Equity Offering",
        "label": "January 2020 Equity Offering [Member]",
        "terseLabel": "January 2020 Equity Offering"
       }
      }
     },
     "localname": "January2020EquityOfferingMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2020EquityOfferingPrivatePlacementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2020 Equity Offering, Private Placement",
        "label": "January 2020 Equity Offering, Private Placement [Member]",
        "terseLabel": "January 2020 Equity Offering, Private Placement"
       }
      }
     },
     "localname": "January2020EquityOfferingPrivatePlacementMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_January2020InstitutionalInvestorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "January 2020 Institutional Investor",
        "label": "January 2020 Institutional Investor [Member]",
        "terseLabel": "January 2020 Institutional Investor"
       }
      }
     },
     "localname": "January2020InstitutionalInvestorMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_LeaseSupplementalBalanceSheetInformationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease, Supplemental Balance Sheet Information [Table Text Block]",
        "label": "Lease, Supplemental Balance Sheet Information [Table Text Block]",
        "terseLabel": "Schedule of Supplemental Balance Sheet Information"
       }
      }
     },
     "localname": "LeaseSupplementalBalanceSheetInformationTableTextBlock",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "efoi_LesseeOperatingLeaseInterestRateEffectiveRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Operating Lease, Interest Rate, Effective Rate",
        "label": "Lessee, Operating Lease, Interest Rate, Effective Rate",
        "terseLabel": "Operating lease, borrowing rate"
       }
      }
     },
     "localname": "LesseeOperatingLeaseInterestRateEffectiveRate",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Amount Available Based On Qualified Accounts",
        "label": "Line of Credit Facility, Amount Available Based On Qualified Accounts",
        "terseLabel": "Amount available under facility based on qualified accounts receivable"
       }
      }
     },
     "localname": "LineOfCreditFacilityAmountAvailableBasedOnQualifiedAccounts",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityAnnualFacilityFeePeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line Of Credit Facility, Annual Facility Fee, Period",
        "label": "Line Of Credit Facility, Annual Facility Fee, Period",
        "terseLabel": "Annual facility period"
       }
      }
     },
     "localname": "LineOfCreditFacilityAnnualFacilityFeePeriod",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "efoi_LineOfCreditFacilityAnnualFeePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line Of Credit Facility, Annual Fee, Percent",
        "label": "Line Of Credit Facility, Annual Fee, Percent",
        "terseLabel": "Annual fee"
       }
      }
     },
     "localname": "LineOfCreditFacilityAnnualFeePercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Available Amount Based On Qualified Accounts",
        "label": "Line of Credit Facility, Available Amount Based On Qualified Accounts",
        "terseLabel": "Amount available based on qualifying accounts"
       }
      }
     },
     "localname": "LineOfCreditFacilityAvailableAmountBasedOnQualifiedAccounts",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_LineOfCreditFacilityAvailableInventory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Available Inventory",
        "label": "Line of Credit Facility, Available Inventory",
        "terseLabel": "Eligible inventory"
       }
      }
     },
     "localname": "LineOfCreditFacilityAvailableInventory",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_LineOfCreditFacilityAvailableInventoryNetRealizableValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Available Inventory, Net Realizable Value",
        "label": "Line of Credit Facility, Available Inventory, Net Realizable Value",
        "terseLabel": "Percent of net realizable value of eligible inventory"
       }
      }
     },
     "localname": "LineOfCreditFacilityAvailableInventoryNetRealizableValue",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent",
        "label": "Line of Credit Facility, Borrowing Capacity, Inventory Costs, Percent",
        "terseLabel": "Inventory costs"
       }
      }
     },
     "localname": "LineOfCreditFacilityBorrowingCapacityInventoryCostsPercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityBorrowingCapacityInventoryValuePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent",
        "label": "Line of Credit Facility, Borrowing Capacity, Inventory Value, Percent",
        "terseLabel": "Inventory, net orderly liquidation value"
       }
      }
     },
     "localname": "LineOfCreditFacilityBorrowingCapacityInventoryValuePercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent",
        "label": "Line of Credit Facility, Borrowing Capacity, Value Of Accounts Receivable, Percent",
        "terseLabel": "Percent of accounts receivable used as borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityBorrowingCapacityValueOfAccountsReceivablePercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityCollateralManagementFeePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line Of Credit Facility, Collateral Management Fee, Percent",
        "label": "Line Of Credit Facility, Collateral Management Fee, Percent",
        "terseLabel": "Collateral management fee"
       }
      }
     },
     "localname": "LineOfCreditFacilityCollateralManagementFeePercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityMinimumRequirement": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line Of Credit Facility, Minimum Requirement",
        "label": "Line Of Credit Facility, Minimum Requirement",
        "terseLabel": "Minimum borrowing requirement"
       }
      }
     },
     "localname": "LineOfCreditFacilityMinimumRequirement",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_LineOfCreditFacilityMonthlyFacilityFee": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line Of Credit Facility, Monthly Facility Fee",
        "label": "Line Of Credit Facility, Monthly Facility Fee",
        "terseLabel": "Minimum monthly fee"
       }
      }
     },
     "localname": "LineOfCreditFacilityMonthlyFacilityFee",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_LineOfCreditFacilityMonthlyFacilityFeePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line Of Credit Facility, Monthly Facility Fee, Percent",
        "label": "Line Of Credit Facility, Monthly Facility Fee, Percent",
        "terseLabel": "Monthly service fee"
       }
      }
     },
     "localname": "LineOfCreditFacilityMonthlyFacilityFeePercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LineOfCreditFacilityOverdraftFeePercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line Of Credit Facility, Overdraft Fee, Percent",
        "label": "Line Of Credit Facility, Overdraft Fee, Percent",
        "terseLabel": "Overdraft fee"
       }
      }
     },
     "localname": "LineOfCreditFacilityOverdraftFeePercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_LongLivedAssetsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for property, plant and equipment as well as goodwill and intangible assets, which may include the basis of such assets, depreciation methods used and estimated useful lives, the entity's capitalization policy, including its accounting treatment for costs incurred for repairs and maintenance activities, whether such asset balances include capitalized interest and the method by which such is calculated, how disposals of such assets are accounted for and how impairment of such assets is assessed and recognized.",
        "label": "Long Lived Assets Policy [Policy Text Block]",
        "terseLabel": "Long-lived assets"
       }
      }
     },
     "localname": "LongLivedAssetsPolicyPolicyTextBlock",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "efoi_LonglivedAssetsLocatedinUSPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Long-lived Assets Located in US, Percent",
        "label": "Long-lived Assets Located in US, Percent",
        "terseLabel": "Long-lived assets located in US, percent"
       }
      }
     },
     "localname": "LonglivedAssetsLocatedinUSPercent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_MMMLEDProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "MMM LED Products",
        "label": "MMM LED Products [Member]",
        "terseLabel": "MMM LED Products"
       }
      }
     },
     "localname": "MMMLEDProductsMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net proceeds from the conversion of convertible debt to preferred stock",
        "label": "Net proceeds from the conversion of convertible debt to preferred stock",
        "terseLabel": "Net proceeds from the conversion of convertible debt to preferred stock"
       }
      }
     },
     "localname": "NetProceedsFromTheConversionOfConvertibleDebtToPreferredStock",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_NonEmployeeDirectorMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non-Employee Director",
        "label": "Non-Employee Director [Member]",
        "terseLabel": "Non-Employee Director"
       }
      }
     },
     "localname": "NonEmployeeDirectorMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Note Payable, Percentage Increase Due to Deferral of Redemption Option",
        "label": "Note Payable, Percentage Increase Due to Deferral of Redemption Option",
        "terseLabel": "Percentage increase due to deferral of redemption option"
       }
      }
     },
     "localname": "NotePayablePercentageIncreaseDueToDeferralOfRedemptionOption",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_OffshoreSupplierMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Offshore Supplier",
        "label": "Offshore Supplier [Member]",
        "terseLabel": "Offshore Supplier"
       }
      }
     },
     "localname": "OffshoreSupplierMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_OperatingLeaseAssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating Lease, Assets And Liabilities, Lessee",
        "label": "Operating Lease, Assets And Liabilities, Lessee [Abstract]",
        "terseLabel": "Operating Leases"
       }
      }
     },
     "localname": "OperatingLeaseAssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_OperatingLeaseCostNetOfSubleaseIncome": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating Lease, Cost, Net Of Sublease Income",
        "label": "Operating Lease, Cost, Net Of Sublease Income",
        "totalLabel": "Operating lease cost, net"
       }
      }
     },
     "localname": "OperatingLeaseCostNetOfSubleaseIncome",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_OperatingLeaseLiabilityIncludingRestructuredLeases": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating Lease, Liability, Including Restructured Leases",
        "label": "Operating Lease, Liability, Including Restructured Leases",
        "totalLabel": "Operating lease liabilities, total"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityIncludingRestructuredLeases",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Operating Lease, Right-of-Use Asset, Including Restructured Leases",
        "label": "Operating Lease, Right-of-Use Asset, Including Restructured Leases",
        "totalLabel": "Operating lease right-of-use assets, total"
       }
      }
     },
     "localname": "OperatingLeaseRightofUseAssetIncludingRestructuredLeases",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PaycheckProtectionProgramCARESActMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Paycheck Protection Program CARES Act",
        "label": "Paycheck Protection Program CARES Act [Member]",
        "terseLabel": "Paycheck Protection Program CARES Act"
       }
      }
     },
     "localname": "PaycheckProtectionProgramCARESActMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_PaymentProtectionProgramCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 13.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment Protection Program, Current",
        "label": "Payment Protection Program, Current",
        "terseLabel": "PPP loan"
       }
      }
     },
     "localname": "PaymentProtectionProgramCurrent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PaymentProtectionProgramNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment Protection Program, Noncurrent",
        "label": "Payment Protection Program, Noncurrent",
        "terseLabel": "PPP loan, net of current maturities"
       }
      }
     },
     "localname": "PaymentProtectionProgramNoncurrent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PaymentsForClearingFees": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments For Clearing Fees",
        "label": "Payments For Clearing Fees",
        "terseLabel": "Amount paid for clearing fees"
       }
      }
     },
     "localname": "PaymentsForClearingFees",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PaymentsForPlacementAgentCommissions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments For Placement Agent Commissions",
        "label": "Payments For Placement Agent Commissions",
        "terseLabel": "Amount paid for placement agent commissions"
       }
      }
     },
     "localname": "PaymentsForPlacementAgentCommissions",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement",
        "label": "Payments Related To Expenses For Registered Direct Offering And Concurrent Private Placement",
        "terseLabel": "Amount paid related to expenses for registered direct offering and concurrent private placement"
       }
      }
     },
     "localname": "PaymentsRelatedToExpensesForRegisteredDirectOfferingAndConcurrentPrivatePlacement",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payroll Tax Credit, Employee Retention Credit Under The CARES Act",
        "label": "Payroll Tax Credit, Employee Retention Credit Under The CARES Act",
        "terseLabel": "ERTC refund"
       }
      }
     },
     "localname": "PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESAct",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current",
        "label": "Payroll Tax Credit, Employee Retention Credit Under The CARES Act, Current",
        "terseLabel": "ERTC funds",
        "verboseLabel": "ERTC expected receivable"
       }
      }
     },
     "localname": "PayrollTaxCreditEmployeeRetentionCreditUnderTheCARESActCurrent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/OtherIncomeDetails",
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_PercentageOfSeriesAPreferredStockEligibleToVote": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of Series A Preferred Stock Eligible to Vote",
        "label": "Percentage of Series A Preferred Stock Eligible to Vote",
        "terseLabel": "Percentage of number of votes that each share of preferred stock holders are entitled to"
       }
      }
     },
     "localname": "PercentageOfSeriesAPreferredStockEligibleToVote",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_Plan2014Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock incentive plan approved in 2014.",
        "label": "Plan 2014 [Member]",
        "terseLabel": "2014 Plan"
       }
      }
     },
     "localname": "Plan2014Member",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_Plan2020Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan 2020",
        "label": "Plan 2020 [Member]",
        "terseLabel": "2020 Plan"
       }
      }
     },
     "localname": "Plan2020Member",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_PoolAndCommercialProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pool And Commercial Products [Member]",
        "verboseLabel": "Commercial products"
       }
      }
     },
     "localname": "PoolAndCommercialProductsMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_PreFundedWarrantsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Pre-Funded Warrants",
        "label": "Pre-Funded Warrants [Member]",
        "terseLabel": "Pre-Funded Warrants"
       }
      }
     },
     "localname": "PreFundedWarrantsMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_ProceedsFromIssuanceOfCommonStockAndWarrants": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from Issuance of Common Stock and Warrants",
        "label": "Proceeds from Issuance of Common Stock and Warrants",
        "terseLabel": "Proceeds from the issuance of common stock and warrants"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStockAndWarrants",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_ProceedsFromPaycheckProtectionProgram": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds From Paycheck Protection Program",
        "label": "Proceeds From Paycheck Protection Program",
        "terseLabel": "Proceeds from PPP loan"
       }
      }
     },
     "localname": "ProceedsFromPaycheckProtectionProgram",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs",
        "label": "Proceeds from the Issuance of Common Stock and Warrants, Net of Issuance Costs",
        "terseLabel": "Net proceeds from sale of common stock and warrants"
       }
      }
     },
     "localname": "ProceedsFromTheIssuanceOfCommonStockAndWarrantsNetOfIssuanceCosts",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_ReceivablesFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Receivables Facility",
        "label": "Receivables Facility [Member]",
        "terseLabel": "Receivables Facility"
       }
      }
     },
     "localname": "ReceivablesFacilityMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_RegionalCommercialLightingRetrofitCompanyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Regional Commercial Lighting Retrofit Company",
        "label": "Regional Commercial Lighting Retrofit Company [Member]",
        "terseLabel": "Regional Commercial Lighting Retrofit Company"
       }
      }
     },
     "localname": "RegionalCommercialLightingRetrofitCompanyMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related Party Transactions, Ownership in Reporting Entity by Related Party",
        "label": "Related Party Transactions, Ownership in Reporting Entity by Related Party",
        "terseLabel": "Ownership in reporting entity by related party"
       }
      }
     },
     "localname": "RelatedPartyTransactionsOwnershipinReportingEntitybyRelatedParty",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "efoi_RestructuredLeaseOperatingLeaseCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": 2.0,
       "parentTag": "efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructured Lease, Operating Lease, Cost",
        "label": "Restructured Lease, Operating Lease, Cost",
        "terseLabel": "Lease cost"
       }
      }
     },
     "localname": "RestructuredLeaseOperatingLeaseCost",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructured Lease, Operating Lease, Cost, Net Of Sublease Income",
        "label": "Restructured Lease, Operating Lease, Cost, Net Of Sublease Income",
        "totalLabel": "Restructured lease income, net"
       }
      }
     },
     "localname": "RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_RestructuredLeaseSubleaseIncome": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": 1.0,
       "parentTag": "efoi_RestructuredLeaseOperatingLeaseCostNetOfSubleaseIncome",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructured Lease, Sublease Income",
        "label": "Restructured Lease, Sublease Income",
        "negatedTerseLabel": "Sub-lease income"
       }
      }
     },
     "localname": "RestructuredLeaseSubleaseIncome",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_RestructuredLeasesOperatingLeasePayments": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructured Leases, Operating Lease, Payments",
        "label": "Restructured Leases, Operating Lease, Payments",
        "terseLabel": "Operating cash flows from restructured leases"
       }
      }
     },
     "localname": "RestructuredLeasesOperatingLeasePayments",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_RestructuredOperatingLeaseLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": 2.0,
       "parentTag": "efoi_OperatingLeaseLiabilityIncludingRestructuredLeases",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructured Operating Lease, Liability",
        "label": "Restructured Operating Lease, Liability",
        "terseLabel": "Restructured lease liabilities"
       }
      }
     },
     "localname": "RestructuredOperatingLeaseLiability",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_RestructuredOperatingLeaseLiabilityCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructured Operating Lease, Liability, Current",
        "label": "Restructured Operating Lease, Liability, Current",
        "terseLabel": "Restructured lease liabilities"
       }
      }
     },
     "localname": "RestructuredOperatingLeaseLiabilityCurrent",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_RestructuredOperatingLeaseRightOfUseAsset": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": 2.0,
       "parentTag": "efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructured Operating Lease, Right-Of-Use Asset",
        "label": "Restructured Operating Lease, Right-Of-Use Asset",
        "terseLabel": "Restructured lease, right-of-use asset"
       }
      }
     },
     "localname": "RestructuredOperatingLeaseRightOfUseAsset",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_RestructuringReserveAccretion": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Restructuring Reserve, Accretion",
        "label": "Restructuring Reserve, Accretion",
        "terseLabel": "Accretion of lease obligations"
       }
      }
     },
     "localname": "RestructuringReserveAccretion",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "efoi_RobotsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Robots",
        "label": "Robots [Member]",
        "terseLabel": "UV- Robots"
       }
      }
     },
     "localname": "RobotsMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Exercisable [Abstract]",
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Exercisable [Abstract]",
        "terseLabel": "OPTIONS EXERCISABLE"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsExercisableAbstract",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Outstanding [Abstract]",
        "label": "Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, Options Outstanding [Abstract]",
        "terseLabel": "OPTIONS OUTSTANDING"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedunderStockOptionPlansExercisePriceRangeOptionsOutstandingAbstract",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "efoi_ShipbuilderForUSNavyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shipbuilder For U.S. Navy",
        "label": "Shipbuilder For U.S. Navy [Member]",
        "terseLabel": "Shipbuilder For U.S. Navy"
       }
      }
     },
     "localname": "ShipbuilderForUSNavyMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_StandardProductWarrantyNumberofYears": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Standard Product Warranty, Number of Years",
        "label": "Standard Product Warranty, Number of Years",
        "terseLabel": "Standard Product Warranty, Number of Years"
       }
      }
     },
     "localname": "StandardProductWarrantyNumberofYears",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "efoi_StreetervilleNotePurchaseAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Streeterville Note Purchase Agreement",
        "label": "Streeterville Note Purchase Agreement [Member]",
        "terseLabel": "Streeterville Note"
       }
      }
     },
     "localname": "StreetervilleNotePurchaseAgreementMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_SupplementalCashFlowInformationRelatedToLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "[Table Text Block] for Supplemental Cash Flow Information Related To Leases [Table]",
        "label": "Supplemental Cash Flow Information Related To Leases [Table Text Block]",
        "terseLabel": "Supplemental Cash Flow Information Related To Leases"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationRelatedToLeasesTableTextBlock",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "efoi_ToolingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tooling [Member]",
        "terseLabel": "Tooling"
       }
      }
     },
     "localname": "ToolingMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_TotalExpendituresMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total Expenditures",
        "label": "Total Expenditures [Member]",
        "terseLabel": "Total Expenditures"
       }
      }
     },
     "localname": "TotalExpendituresMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_TwoCustomersMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Customers",
        "label": "Two Customers [Member]",
        "terseLabel": "Two Customers"
       }
      }
     },
     "localname": "TwoCustomersMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_UVCDProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "UVCD Products",
        "label": "UVCD Products [Member]",
        "terseLabel": "UVCD Products"
       }
      }
     },
     "localname": "UVCDProductsMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_WallStreetJournalHighestPrimeRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Wall Street Journal, Highest Prime Rate",
        "label": "Wall Street Journal, Highest Prime Rate [Member]",
        "terseLabel": "Wall Street Journal, highest prime rate"
       }
      }
     },
     "localname": "WallStreetJournalHighestPrimeRateMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "efoi_YehMeiChengMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Yeh-Mei Cheng",
        "label": "Yeh Mei Cheng [Member]",
        "terseLabel": "Yeh-Mei Cheng"
       }
      }
     },
     "localname": "YehMeiChengMember",
     "nsuri": "http://www.energyfocusinc.com/20211231",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r64",
      "r66",
      "r128",
      "r129",
      "r287",
      "r328",
      "r644"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of counterparty. A counterparty is the other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution.",
        "label": "Counterparty Name [Axis]",
        "terseLabel": "Counterparty Name [Axis]"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of investment including named security. Excludes entity that is consolidated.",
        "label": "Investment, Name [Domain]",
        "terseLabel": "Investment, Name [Domain]"
       }
      }
     },
     "localname": "EquityMethodInvesteeNameDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r214",
      "r362",
      "r365",
      "r595"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name or description of a single external customer or a group of external customers.",
        "label": "Customer [Axis]",
        "terseLabel": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r286",
      "r327",
      "r380",
      "r382",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r592",
      "r596",
      "r619",
      "r620"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Upper limit of the provided range.",
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r286",
      "r327",
      "r380",
      "r382",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r592",
      "r596",
      "r619",
      "r620"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lower limit of the provided range.",
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r214",
      "r362",
      "r365",
      "r595"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Single external customer or group of external customers.",
        "label": "Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of entity in which ownership interest is disclosed. Excludes equity method investee and named security investment.",
        "label": "Ownership [Axis]",
        "terseLabel": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of entity in which ownership interest is disclosed. Excludes equity method investee and named security investment.",
        "label": "Ownership [Domain]",
        "terseLabel": "Ownership [Domain]"
       }
      }
     },
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r210",
      "r362",
      "r363",
      "r548",
      "r591",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by product and service, or group of similar products and similar services.",
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r210",
      "r362",
      "r363",
      "r548",
      "r591",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product or service, or a group of similar products or similar services.",
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r286",
      "r327",
      "r370",
      "r380",
      "r382",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r592",
      "r596",
      "r619",
      "r620"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r286",
      "r327",
      "r370",
      "r380",
      "r382",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r592",
      "r596",
      "r619",
      "r620"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median.",
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [
      "r65",
      "r66",
      "r128",
      "r129",
      "r287",
      "r328"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution.",
        "label": "Counterparty Name [Domain]",
        "terseLabel": "Counterparty Name [Domain]"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioForecastMember": {
     "auth_ref": [
      "r147",
      "r381",
      "r632"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information reported for future period. Excludes information expected to be reported in future period for effect on historical fact.",
        "label": "Forecast [Member]",
        "terseLabel": "Scenario, forecast"
       }
      }
     },
     "localname": "ScenarioForecastMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScenarioUnspecifiedDomain": {
     "auth_ref": [
      "r147",
      "r152",
      "r381"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts.",
        "label": "Scenario [Domain]",
        "terseLabel": "Scenario [Domain]"
       }
      }
     },
     "localname": "ScenarioUnspecifiedDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "auth_ref": [
      "r227"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of investment including named security. Excludes entity that is consolidated.",
        "label": "Investment, Name [Axis]",
        "terseLabel": "Investment, Name [Axis]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": {
     "auth_ref": [
      "r137",
      "r643"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]",
        "terseLabel": "Schedule II - Schedule of Valuation and Qualifying Accounts"
       }
      }
     },
     "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccounts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r211",
      "r212",
      "r362",
      "r364",
      "r594",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r633",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Geographical area.",
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r211",
      "r212",
      "r362",
      "r364",
      "r594",
      "r604",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r633",
      "r634"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by geographical components.",
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_StatementScenarioAxis": {
     "auth_ref": [
      "r147",
      "r152",
      "r262",
      "r381",
      "r535"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts.",
        "label": "Scenario [Axis]",
        "terseLabel": "Scenario [Axis]"
       }
      }
     },
     "localname": "StatementScenarioAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r216",
      "r528"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by title of individual or nature of relationship to individual or group of individuals.",
        "label": "Title of Individual [Axis]",
        "terseLabel": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of individual, or nature of relationship to individual or group of individuals.",
        "label": "Title of Individual [Domain]",
        "terseLabel": "Title of Individual [Domain]"
       }
      }
     },
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ValuationAndQualifyingAccountsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]",
        "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts [Abstract]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsAbstract",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]",
        "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r135",
      "r136",
      "r643"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]",
        "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]",
        "terseLabel": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r43",
      "r534"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableMember": {
     "auth_ref": [
      "r16"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Obligations incurred and payable to vendors for goods and services received.",
        "label": "Accounts Payable [Member]",
        "terseLabel": "Accounts Payable"
       }
      }
     },
     "localname": "AccountsPayableMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r4",
      "r25",
      "r217",
      "r218"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Trade accounts receivable, less allowances of $14 and $8, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedEmployeeBenefitsCurrent": {
     "auth_ref": [
      "r12",
      "r13",
      "r47"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Employee Benefits, Current",
        "terseLabel": "Accrued payroll and related benefits"
       }
      }
     },
     "localname": "AccruedEmployeeBenefitsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "auth_ref": [
      "r12",
      "r13",
      "r47"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Professional Fees, Current",
        "terseLabel": "Accrued legal and professional fees"
       }
      }
     },
     "localname": "AccruedProfessionalFeesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalesCommissionCurrent": {
     "auth_ref": [
      "r12",
      "r13",
      "r47"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Sales Commission, Current",
        "terseLabel": "Accrued sales commissions"
       }
      }
     },
     "localname": "AccruedSalesCommissionCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r28",
      "r68",
      "r69",
      "r70",
      "r581",
      "r601",
      "r602"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r67",
      "r70",
      "r77",
      "r78",
      "r79",
      "r139",
      "r140",
      "r141",
      "r474",
      "r597",
      "r598",
      "r646"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r139",
      "r140",
      "r141",
      "r422",
      "r423",
      "r424",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "negatedTerseLabel": "Common stock withheld in lieu of income tax withholding on vesting of restricted stock units"
       }
      }
     },
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r383",
      "r385",
      "r428",
      "r429"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": {
     "auth_ref": [
      "r342",
      "r350"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration.",
        "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs",
        "negatedTerseLabel": "Offering costs on issuance of common stock and warrants"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalWarrantIssued": {
     "auth_ref": [
      "r282",
      "r342",
      "r350"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in additional paid in capital (APIC) resulting from the issuance of warrants. Includes allocation of proceeds of debt securities issued with detachable stock purchase warrants.",
        "label": "Adjustments to Additional Paid in Capital, Warrant Issued",
        "terseLabel": "Warrant liability - issuance"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalWarrantIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r110"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of adjustments which are added to or deducted from net income or loss, including the portion attributable to noncontrolling interest, to reflect cash provided by or used in operating activities, in accordance with the indirect cash flow method.",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Total adjustments"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "auth_ref": [
      "r432"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for advertising cost.",
        "label": "Advertising Cost [Policy Text Block]",
        "terseLabel": "Advertising expenses"
       }
      }
     },
     "localname": "AdvertisingCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AdvertisingExpense": {
     "auth_ref": [
      "r433"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.",
        "label": "Advertising Expense",
        "terseLabel": "Advertising expense"
       }
      }
     },
     "localname": "AdvertisingExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesAdvertisingExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r385",
      "r418",
      "r427"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-based Payment Arrangement, Expense",
        "terseLabel": "Total stock-based compensation"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r135",
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "SEC Schedule, 12-09, Allowance, Credit Loss [Member]",
        "terseLabel": "Allowance for doubtful accounts and returns"
       }
      }
     },
     "localname": "AllowanceForCreditLossMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r32",
      "r223",
      "r230"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "terseLabel": "Trade accounts receivable, allowances"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfDebtDiscountPremium": {
     "auth_ref": [
      "r92",
      "r109",
      "r306",
      "r503"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense.",
        "label": "Amortization of Debt Discount (Premium)",
        "terseLabel": "Amortization of loan discounts and origination fees"
       }
      }
     },
     "localname": "AmortizationOfDebtDiscountPremium",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r162"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Antidilutive securities excluded from computation of earnings per share (number of shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r124",
      "r196",
      "r200",
      "r206",
      "r228",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r471",
      "r475",
      "r494",
      "r532",
      "r534",
      "r563",
      "r579"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r9",
      "r11",
      "r61",
      "r124",
      "r228",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r471",
      "r475",
      "r494",
      "r532",
      "r534"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r386",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessAcquisitionContingentConsiderationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Business Acquisition, Contingent Consideration [Line Items]",
        "terseLabel": "Business Acquisition, Contingent Consideration [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionContingentConsiderationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Abstract]",
        "terseLabel": "Classification of cash and restricted cash:"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r2",
      "r39",
      "r111"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash",
        "verboseLabel": "Cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r17",
      "r112"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and restricted cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r104",
      "r111",
      "r116"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and restricted cash, end of year",
        "periodStartLabel": "Cash and restricted cash, beginning of year",
        "terseLabel": "Cash and cash equivalents",
        "totalLabel": "Cash and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r104",
      "r495"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase in cash and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r121",
      "r124",
      "r155",
      "r156",
      "r157",
      "r159",
      "r161",
      "r171",
      "r172",
      "r173",
      "r228",
      "r270",
      "r274",
      "r275",
      "r276",
      "r279",
      "r280",
      "r325",
      "r326",
      "r330",
      "r334",
      "r494",
      "r630"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.",
        "label": "Class of Stock [Domain]",
        "terseLabel": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfStockLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Class of Stock [Line Items]",
        "terseLabel": "Class of Stock [Line Items]"
       }
      }
     },
     "localname": "ClassOfStockLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ClassOfWarrantOrRightAxis": {
     "auth_ref": [
      "r352",
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of warrant or right issued.",
        "label": "Class of Warrant or Right [Axis]",
        "terseLabel": "Class of Warrant or Right [Axis]"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ClassOfWarrantOrRightDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the class or type of warrant or right outstanding. Warrants and rights represent derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months.",
        "label": "Class of Warrant or Right [Domain]",
        "terseLabel": "Class of Warrant or Right [Domain]"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1": {
     "auth_ref": [
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exercise price per share or per unit of warrants or rights outstanding.",
        "label": "Class of Warrant or Right, Exercise Price of Warrants or Rights",
        "terseLabel": "Exercise price of warrants (in dollars per share)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights": {
     "auth_ref": [
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of securities into which the class of warrant or right may be converted. For example, but not limited to, 500,000 warrants may be converted into 1,000,000 shares.",
        "label": "Class of Warrant or Right, Number of Securities Called by Warrants or Rights",
        "terseLabel": "Securities called by warrants (in shares)"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]",
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r259",
      "r260",
      "r261",
      "r263",
      "r606"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r139",
      "r140",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/NatureofOperationsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquity1for5ReverseStockSplitDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock authorized (in shares)",
        "verboseLabel": "Common stock authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.energyfocusinc.com/role/NatureofOperationsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquity1for5ReverseStockSplitDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r24",
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "verboseLabel": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r24",
      "r534"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock, par value $0.0001 per share:"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r72",
      "r74",
      "r75",
      "r85",
      "r571",
      "r587"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive loss"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive loss:"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r182",
      "r183",
      "r214",
      "r491",
      "r492",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r182",
      "r183",
      "r214",
      "r491",
      "r492",
      "r603",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]",
        "terseLabel": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r182",
      "r183",
      "r214",
      "r491",
      "r492",
      "r603",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]",
        "terseLabel": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r177",
      "r577"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Certain risks and concentrations"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Concentration Risk [Line Items]"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r182",
      "r183",
      "r214",
      "r491",
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r180",
      "r182",
      "r183",
      "r184",
      "r491",
      "r493",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]",
        "terseLabel": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r182",
      "r183",
      "r214",
      "r491",
      "r492",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConstructionInProgressMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress [Member]",
        "terseLabel": "Construction in progress"
       }
      }
     },
     "localname": "ConstructionInProgressMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertibleDebtMember": {
     "auth_ref": [
      "r281",
      "r283",
      "r284",
      "r286",
      "r296",
      "r297",
      "r298",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r314",
      "r315",
      "r316",
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.",
        "label": "Convertible Debt [Member]",
        "terseLabel": "Convertible Debt"
       }
      }
     },
     "localname": "ConvertibleDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertiblePreferredStockMember": {
     "auth_ref": [
      "r325",
      "r326",
      "r330"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred stock that may be exchanged into common shares or other types of securities at the owner's option.",
        "label": "Convertible Preferred Stock [Member]",
        "terseLabel": "Convertible Preferred Stock"
       }
      }
     },
     "localname": "ConvertiblePreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertiblePreferredStockSharesIssuedUponConversion": {
     "auth_ref": [
      "r22",
      "r23",
      "r337",
      "r343",
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued for each share of convertible preferred stock that is converted.",
        "label": "Convertible Preferred Stock, Shares Issued upon Conversion",
        "terseLabel": "Common stock issued upon preferred stock conversion (in shares)"
       }
      }
     },
     "localname": "ConvertiblePreferredStockSharesIssuedUponConversion",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r90",
      "r548"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of sales"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfSalesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing cost of sales.",
        "label": "Cost of Sales [Member]",
        "terseLabel": "Cost of sales"
       }
      }
     },
     "localname": "CostOfSalesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current:"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r125",
      "r454",
      "r461"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current State and Local Tax Expense (Benefit)",
        "terseLabel": "State"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r181",
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer concentration risk"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtConversionOriginalDebtInterestRateOfDebt": {
     "auth_ref": [
      "r114",
      "r115"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The rate of interest that was being paid on the original debt issue that is being converted in the noncash (or part noncash) transaction. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.",
        "label": "Debt Conversion, Original Debt, Interest Rate of Debt",
        "terseLabel": "Interest rate on convertible notes"
       }
      }
     },
     "localname": "DebtConversionOriginalDebtInterestRateOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]",
        "terseLabel": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r120",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r300",
      "r307",
      "r308",
      "r310",
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Debt"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/Debt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r19",
      "r20",
      "r21",
      "r123",
      "r130",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r290",
      "r296",
      "r297",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r314",
      "r315",
      "r316",
      "r317",
      "r506",
      "r564",
      "r565",
      "r578"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails",
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "auth_ref": [
      "r21",
      "r311",
      "r565",
      "r578"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.",
        "label": "Long-term Debt, Gross",
        "terseLabel": "Total liability, net of discount and financing fees"
       }
      }
     },
     "localname": "DebtInstrumentCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "auth_ref": [
      "r285",
      "r313"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The price per share of the conversion feature embedded in the debt instrument.",
        "label": "Debt Instrument, Convertible, Conversion Price",
        "terseLabel": "Conversion price (in dollars per share)"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r283",
      "r314",
      "r315",
      "r504",
      "r506",
      "r507"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Principal amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFeeAmount": {
     "auth_ref": [
      "r50"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the fee that accompanies borrowing money under the debt instrument.",
        "label": "Debt Instrument, Fee Amount",
        "terseLabel": "Fee amount"
       }
      }
     },
     "localname": "DebtInstrumentFeeAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r49",
      "r284"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Stated interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r51",
      "r123",
      "r130",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r290",
      "r296",
      "r297",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r314",
      "r315",
      "r316",
      "r317",
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails",
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodAxis": {
     "auth_ref": [
      "r575"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information about timing of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument, Redemption, Period [Axis]",
        "terseLabel": "Debt Instrument, Redemption, Period [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodDomain": {
     "auth_ref": [
      "r575"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period as defined under terms of the debt agreement for debt redemption features.",
        "label": "Debt Instrument, Redemption, Period [Domain]",
        "terseLabel": "Debt Instrument, Redemption, Period [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodOneMember": {
     "auth_ref": [
      "r575"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period one representing most current period of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument, Redemption, Period One [Member]",
        "terseLabel": "Debt Instrument, Redemption, Period One"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodOneMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentRedemptionPeriodTwoMember": {
     "auth_ref": [
      "r575"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period two representing second most current period of debt redemption features under terms of the debt agreement.",
        "label": "Debt Instrument, Redemption, Period Two [Member]",
        "terseLabel": "Debt Instrument, Redemption, Period Two"
       }
      }
     },
     "localname": "DebtInstrumentRedemptionPeriodTwoMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r51",
      "r123",
      "r130",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r290",
      "r296",
      "r297",
      "r298",
      "r299",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r309",
      "r314",
      "r315",
      "r316",
      "r317",
      "r343",
      "r347",
      "r348",
      "r349",
      "r503",
      "r504",
      "r506",
      "r507",
      "r576"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscount": {
     "auth_ref": [
      "r296",
      "r503",
      "r507"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt discount.",
        "label": "Debt Instrument, Unamortized Discount",
        "terseLabel": "Original issue discount"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet": {
     "auth_ref": [
      "r296",
      "r312",
      "r314",
      "r315",
      "r505"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unamortized debt discount (premium) and debt issuance costs.",
        "label": "Debt Instrument, Unamortized Discount (Premium) and Debt Issuance Costs, Net",
        "terseLabel": "Unamortized discount and financing fees"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentUnamortizedPremium": {
     "auth_ref": [
      "r296",
      "r503",
      "r507"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of debt premium.",
        "label": "Debt Instrument, Unamortized Premium",
        "terseLabel": "Original issue discount"
       }
      }
     },
     "localname": "DebtInstrumentUnamortizedPremium",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]",
        "terseLabel": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r42"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.",
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "terseLabel": "Schedule of Prepaid and Other Current Assets"
       }
      }
     },
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r125",
      "r455",
      "r461"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "terseLabel": "U.S. Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "auth_ref": [
      "r505"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Debt Issuance Costs, Gross",
        "terseLabel": "Debt issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Deferred:"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredRevenueCurrent": {
     "auth_ref": [
      "r33"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Deferred Revenue, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "DeferredRevenueCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "auth_ref": [
      "r452",
      "r453"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.",
        "label": "Deferred Tax Assets, in Process Research and Development",
        "terseLabel": "Tax credits, deferred R&amp;D, and other"
       }
      }
     },
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r447"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Net deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r452",
      "r453"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating loss",
        "verboseLabel": "Deferred tax assets, operating loss carry-forwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails",
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration",
        "terseLabel": "Operating loss, subject to expiration"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther": {
     "auth_ref": [
      "r452",
      "r453"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from reserves and accruals, classified as other.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Other",
        "terseLabel": "Accrued expenses and other reserves"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r438",
      "r447"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net",
        "terseLabel": "Net deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": {
     "auth_ref": [
      "r452",
      "r453"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements.",
        "label": "Deferred Tax Liabilities, Leasing Arrangements",
        "negatedTerseLabel": "Right-of-use-asset"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesLeasingArrangements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTemporaryDifferencesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepositsAssetsCurrent": {
     "auth_ref": [
      "r42"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment within one year or during the operating cycle, if shorter.",
        "label": "Deposits Assets, Current",
        "terseLabel": "Short-term deposits"
       }
      }
     },
     "localname": "DepositsAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r109",
      "r241"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "U.S. Federal"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Numerator:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r86",
      "r144",
      "r145",
      "r146",
      "r147",
      "r148",
      "r153",
      "r155",
      "r159",
      "r160",
      "r161",
      "r164",
      "r165",
      "r478",
      "r479",
      "r572",
      "r588"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Net loss per share, basic (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic and Diluted [Abstract]",
        "terseLabel": "Denominator:",
        "verboseLabel": "Net loss per common share - basic and diluted:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic and Diluted, Other Disclosures [Abstract]",
        "terseLabel": "Weighted average shares of common shares outstanding:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r86",
      "r144",
      "r145",
      "r146",
      "r147",
      "r148",
      "r155",
      "r159",
      "r160",
      "r161",
      "r164",
      "r165",
      "r478",
      "r479",
      "r572",
      "r588"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Net loss per share, diluted (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r162",
      "r163"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Net income (loss) per share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r440"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Effective income tax rate reconciliation"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r126",
      "r440",
      "r462"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "terseLabel": "U.S. statutory rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r440",
      "r462"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Valuation allowance"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r440",
      "r462"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r440",
      "r462"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State taxes (net of federal tax benefit)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r419"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "terseLabel": "Unamortized stock compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r419"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Remaining weighted average life"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-based Payment Arrangement, Option [Member]",
        "terseLabel": "Stock option"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis": {
     "auth_ref": [
      "r431"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by name of employee stock ownership plan.",
        "label": "Employee Stock Ownership Plan (ESOP) Name [Axis]",
        "terseLabel": "Employee Stock Ownership Plan (ESOP) Name [Axis]"
       }
      }
     },
     "localname": "EmployeeStockOwnershipPlanESOPDisclosuresByPlanAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeStockOwnershipPlanESOPPlanDomain": {
     "auth_ref": [
      "r430"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entities identify multiple employee stock ownership plans by unique name.",
        "label": "Employee Stock Ownership Plan (ESOP), Plan [Domain]",
        "terseLabel": "Employee Stock Ownership Plan (ESOP), Plan [Domain]"
       }
      }
     },
     "localname": "EmployeeStockOwnershipPlanESOPPlanDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Equipment [Member]",
        "terseLabel": "Equipment"
       }
      }
     },
     "localname": "EquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r77",
      "r78",
      "r79",
      "r139",
      "r140",
      "r141",
      "r143",
      "r149",
      "r151",
      "r170",
      "r229",
      "r342",
      "r350",
      "r422",
      "r423",
      "r424",
      "r457",
      "r458",
      "r477",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r597",
      "r598",
      "r599",
      "r646"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FacilityClosingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Closing of a facility associated with exit from or disposal of business activities or restructurings pursuant to a plan.",
        "label": "Facility Closing [Member]",
        "terseLabel": "Restructuring Liability"
       }
      }
     },
     "localname": "FacilityClosingMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAdjustmentOfWarrants": {
     "auth_ref": [
      "r109",
      "r321"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 5.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (income) related to adjustment to fair value of warrant liability.",
        "label": "Fair Value Adjustment of Warrants",
        "terseLabel": "Loss from change in fair value of warrants",
        "verboseLabel": "Change in fair value of warrant liabilities"
       }
      }
     },
     "localname": "FairValueAdjustmentOfWarrants",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]",
        "terseLabel": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]"
       }
      }
     },
     "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "auth_ref": [
      "r480",
      "r489",
      "r490"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.",
        "label": "Fair Value, by Balance Sheet Grouping [Table]",
        "terseLabel": "Fair Value, by Balance Sheet Grouping [Table]"
       }
      }
     },
     "localname": "FairValueByBalanceSheetGroupingTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r298",
      "r314",
      "r315",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r379",
      "r481",
      "r536",
      "r537",
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "terseLabel": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r480",
      "r481",
      "r482",
      "r483",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]",
        "terseLabel": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r298",
      "r314",
      "r315",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r379",
      "r481",
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "terseLabel": "Fair Value, Inputs, Level 3"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]",
        "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Roll Forward]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "auth_ref": [
      "r484",
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]",
        "terseLabel": "Level 3 Fair Value Reconciliation"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Measurement Frequency [Domain]",
        "terseLabel": "Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.",
        "label": "Fair Value Measurement, Policy [Policy Text Block]",
        "terseLabel": "Financial Instruments"
       }
      }
     },
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues": {
     "auth_ref": [
      "r485"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of issuances of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Issuances",
        "terseLabel": "Issuance of warrants, January 2020"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": {
     "auth_ref": [
      "r485"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements",
        "negatedTerseLabel": "Settlements from exercise"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r298",
      "r314",
      "r315",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r379",
      "r536",
      "r537",
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "terseLabel": "Fair Value Hierarchy and NAV [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r486",
      "r488"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.",
        "label": "Fair Value, Recurring [Member]",
        "terseLabel": "Fair Value, Recurring"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payment, Due, Rolling Maturity [Abstract]",
        "terseLabel": "Finance Lease"
       }
      }
     },
     "localname": "FinanceLeaseLiabilitiesPaymentsRollingMaturityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r509",
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Finance Lease, Liability",
        "terseLabel": "Total lease obligations",
        "verboseLabel": "Finance lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails",
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r509"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Finance Lease, Liability, Current",
        "terseLabel": "Finance lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position.",
        "label": "Finance Lease, Liability, Fiscal Year Maturity [Table Text Block]",
        "terseLabel": "Schedule of Future Maturities of Finance Lease Liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r509"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "Finance Lease, Liability, Noncurrent",
        "terseLabel": "Finance lease liabilities, net of current portion"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Payment, Due",
        "totalLabel": "Total future undiscounted lease payments"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease due in next rolling 12 months following current statement of financial position date. For interim and annual periods when interim period is reported on rolling approach.",
        "label": "Finance Lease, Liability, Payments, Due in Next Rolling 12 Months",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInNextRollingTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFive": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Finance Lease, Liability, Payments, Due in Rolling Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearFour": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Finance Lease, Liability, Payments, Due in Rolling Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearThree": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Finance Lease, Liability, Payments, Due in Rolling Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueInRollingYearTwo": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Finance Lease, Liability, Payments, Due in Rolling Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueInRollingYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less imputed interest"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r511",
      "r517"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Finance Lease, Principal Payments",
        "negatedLabel": "Principal payments under finance lease obligations",
        "terseLabel": "Financing cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "auth_ref": [
      "r508"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization",
        "totalLabel": "Finance lease assets, net"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": {
     "auth_ref": [
      "r508"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, before Accumulated Amortization",
        "terseLabel": "Finance lease right-of-use asset"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r518",
      "r521"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Finance lease, weighted average remaining lease term"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Furniture and Fixtures [Member]",
        "terseLabel": "Furniture and fixtures"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r109"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "Loss on dispositions of property and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainsLossesOnExtinguishmentOfDebt": {
     "auth_ref": [
      "r109",
      "r318",
      "r319"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity.",
        "label": "Gain (Loss) on Extinguishment of Debt",
        "negatedTerseLabel": "Loss on extinguishment of debt"
       }
      }
     },
     "localname": "GainsLossesOnExtinguishmentOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r89",
      "r124",
      "r196",
      "r199",
      "r202",
      "r205",
      "r208",
      "r228",
      "r270",
      "r271",
      "r272",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r494"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "terseLabel": "Gross profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Impairment Effects on Earnings Per Share [Line Items]",
        "terseLabel": "Impairment Effects on Earnings Per Share [Line Items]"
       }
      }
     },
     "localname": "ImpairmentEffectsOnEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the effects of asset impairment charge on per share or per unit basis.",
        "label": "Impairment Effects on Earnings Per Share [Table]",
        "terseLabel": "Impairment Effects on Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ImpairmentEffectsOnEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r83",
      "r196",
      "r199",
      "r202",
      "r205",
      "r208",
      "r561",
      "r568",
      "r574",
      "r589"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Loss from operations before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "auth_ref": [
      "r80",
      "r86",
      "r142",
      "r144",
      "r145",
      "r146",
      "r147",
      "r155",
      "r159",
      "r160",
      "r479",
      "r567",
      "r569",
      "r572",
      "r584"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.",
        "label": "Income (Loss) from Continuing Operations, Per Basic Share",
        "terseLabel": "Net loss, basic (in USD per share)"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r80",
      "r86",
      "r142",
      "r144",
      "r145",
      "r146",
      "r147",
      "r155",
      "r159",
      "r160",
      "r161",
      "r479",
      "r572",
      "r584",
      "r586",
      "r588"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Income (Loss) from Continuing Operations, Per Diluted Share",
        "terseLabel": "Net loss, diluted (in USD per share)"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r245",
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r250"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r443"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]",
        "terseLabel": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]",
        "terseLabel": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r126",
      "r441",
      "r444",
      "r449",
      "r459",
      "r463",
      "r465",
      "r466",
      "r467"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r127",
      "r150",
      "r151",
      "r195",
      "r439",
      "r460",
      "r464",
      "r590"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      },
      "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "totalLabel": "(Benefit from) provision for income taxes",
        "verboseLabel": "Benefit from income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/IncomeTaxesComponentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r76",
      "r436",
      "r437",
      "r444",
      "r445",
      "r448",
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r106",
      "r113"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.",
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid in year for income taxes"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedTerseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "terseLabel": "Accrued and other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDepositOtherAssets": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits.",
        "label": "Increase (Decrease) in Deposit Assets",
        "negatedTerseLabel": "Short-term deposits"
       }
      }
     },
     "localname": "IncreaseDecreaseInDepositOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Change in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedTerseLabel": "Prepaid and other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r81",
      "r194",
      "r502",
      "r505",
      "r573"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r102",
      "r105",
      "r113"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid in year for interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]",
        "terseLabel": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/Inventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Inventory, Finished Goods, Gross",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r3",
      "r57",
      "r534"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories, net",
        "totalLabel": "Inventories, net"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r15",
      "r58",
      "r118",
      "r166",
      "r232",
      "r234",
      "r236",
      "r546"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r56"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Raw Materials, Gross",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryValuationReserveMember": {
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r135",
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reserve to reduce inventory to lower of cost or net realizable value.",
        "label": "SEC Schedule, 12-09, Reserve, Inventory [Member]",
        "terseLabel": "Inventory reserves"
       }
      }
     },
     "localname": "InventoryValuationReserveMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryValuationReserves": {
     "auth_ref": [
      "r57",
      "r235"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation reserve for inventory.",
        "label": "Inventory Valuation Reserves",
        "negatedTerseLabel": "Reserve for excess, obsolete, and slow-moving inventories"
       }
      }
     },
     "localname": "InventoryValuationReserves",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesScheduleofInventoryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r233"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write-down",
        "terseLabel": "Provision for slow-moving and obsolete inventories"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r519",
      "r521"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "totalLabel": "Total lease cost, net"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Components of Lease Cost and Supplemental Cash Flow Information"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r242"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]",
        "terseLabel": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LegalMattersAndContingenciesTextBlock": {
     "auth_ref": [
      "r263"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies.",
        "label": "Legal Matters and Contingencies [Text Block]",
        "terseLabel": "Legal Matters"
       }
      }
     },
     "localname": "LegalMattersAndContingenciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LegalMatters"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeFinanceLeasesTextBlock": {
     "auth_ref": [
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for finance leases of lessee. Includes, but is not limited to, description of lessee's finance lease and maturity analysis of finance lease liability.",
        "label": "Lessee, Finance Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeFinanceLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseDiscountRate": {
     "auth_ref": [
      "r513"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discount rate used by lessee to determine present value of operating lease payments.",
        "label": "Lessee, Operating Lease, Discount Rate",
        "terseLabel": "Operating lease, discount rate"
       }
      }
     },
     "localname": "LesseeOperatingLeaseDiscountRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of Future Maturities of Operating Lease Liabilities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total future undiscounted lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due in Rolling Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueInRollingYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in next rolling twelve months following latest statement of financial position date. For interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Next Rolling Twelve Months",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextRollingTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r520"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r46",
      "r124",
      "r201",
      "r228",
      "r270",
      "r271",
      "r272",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r472",
      "r475",
      "r476",
      "r494",
      "r532",
      "r533"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities [Abstract]",
        "terseLabel": "LIABILITIES"
       }
      }
     },
     "localname": "LiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r31",
      "r124",
      "r228",
      "r494",
      "r534",
      "r566",
      "r583"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r48",
      "r124",
      "r228",
      "r270",
      "r271",
      "r272",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r472",
      "r475",
      "r476",
      "r494",
      "r532",
      "r533",
      "r534"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest": {
     "auth_ref": [
      "r173"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage investment held by the managing member or general partner of the limited liability company (LLC) or limited partnership (LP).",
        "label": "Limited Liability Company (LLC) or Limited Partnership (LP), Managing Member or General Partner, Ownership Interest",
        "terseLabel": "Ownership interest"
       }
      }
     },
     "localname": "LimitedLiabilityCompanyLLCOrLimitedPartnershipLPManagingMemberOrGeneralPartnerOwnershipInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r44"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Credit facility, maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LinesOfCreditCurrent": {
     "auth_ref": [
      "r19",
      "r564"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 14.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Line of Credit, Current",
        "terseLabel": "Credit line borrowings, net of loan origination fees"
       }
      }
     },
     "localname": "LinesOfCreditCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]",
        "terseLabel": "London Interbank Offered Rate (LIBOR)"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentAmount": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum amount the entity agreed to spend under the long-term purchase commitment.",
        "label": "Long-term Purchase Commitment, Amount",
        "terseLabel": "Purchase commitment"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r51"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]",
        "terseLabel": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r51",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Long-term Debt, Type [Domain]",
        "terseLabel": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Standard Product Warranty Accrual [Roll Forward]",
        "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]"
       }
      }
     },
     "localname": "MovementInStandardProductWarrantyAccrualRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]",
        "terseLabel": "SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]"
       }
      }
     },
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r174",
      "r188"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "Nature of Operations"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/NatureofOperations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r104",
      "r107",
      "r110"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "terseLabel": "Net cash used in operating activities",
        "totalLabel": "Net cash used in operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r1",
      "r71",
      "r73",
      "r79",
      "r84",
      "r110",
      "r124",
      "r142",
      "r144",
      "r145",
      "r146",
      "r147",
      "r150",
      "r151",
      "r158",
      "r196",
      "r199",
      "r202",
      "r205",
      "r208",
      "r228",
      "r270",
      "r271",
      "r272",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r479",
      "r494",
      "r570",
      "r585"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net loss",
        "totalLabel": "Net loss"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails",
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent accounting standards and pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other expenses:"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NotesPayableCurrent": {
     "auth_ref": [
      "r45"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 12.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer.",
        "label": "Notes Payable, Current",
        "terseLabel": "Streeterville note, net of discount and loan origination fees"
       }
      }
     },
     "localname": "NotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r196",
      "r199",
      "r202",
      "r205",
      "r208"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Loss from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r515",
      "r521"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": 2.0,
       "parentTag": "efoi_OperatingLeaseCostNetOfSubleaseIncome",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due, Rolling Maturity [Abstract]",
        "terseLabel": "Operating Leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueRollingMaturityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r509"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": 1.0,
       "parentTag": "efoi_OperatingLeaseLiabilityIncludingRestructuredLeases",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Total lease obligations"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofFutureMaturitiesofLeaseLiabilitiesDetails",
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r509"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r509"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities, net of current portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r512",
      "r517"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating cash flows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalCashFlowInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r508"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails": {
       "order": 1.0,
       "parentTag": "efoi_OperatingLeaseRightofUseAssetIncludingRestructuredLeases",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease, right-of-use asset"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/LeasesScheduleofSupplementalBalanceSheetInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r518",
      "r521"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Operating lease, weighted average remaining lease term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r450"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Operating loss carry-forwards"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Operating Loss Carryforwards [Line Items]",
        "terseLabel": "Operating Loss Carryforwards [Line Items]"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLossCarryforwardsTable": {
     "auth_ref": [
      "r451"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization.",
        "label": "Operating Loss Carryforwards [Table]",
        "terseLabel": "Operating Loss Carryforwards [Table]"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]",
        "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r12",
      "r13",
      "r14",
      "r47"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other Accrued Liabilities, Current",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r59",
      "r534"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Assets, Current",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r469",
      "r470",
      "r473"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent",
        "verboseLabel": "Foreign currency translation adjustments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherCurrentAssetsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for other current assets.",
        "label": "Other Current Assets [Text Block]",
        "terseLabel": "Prepaid and Other Current Assets"
       }
      }
     },
     "localname": "OtherCurrentAssetsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherDeferredCompensationArrangementsLiabilityCurrent": {
     "auth_ref": [
      "r368",
      "r369"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the liabilities, classified as other, for deferred compensation arrangements payable within one year or the operating cycle, if longer.",
        "label": "Other Deferred Compensation Arrangements, Liability, Current",
        "periodEndLabel": "Balance December 31, 2020",
        "periodStartLabel": "Balance January 1, 2020"
       }
      }
     },
     "localname": "OtherDeferredCompensationArrangementsLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFairValueRollforwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Income and Expenses [Abstract]"
       }
      }
     },
     "localname": "OtherIncomeAndExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock": {
     "auth_ref": [
      "r367",
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions.",
        "label": "Other Income and Other Expense Disclosure [Text Block]",
        "terseLabel": "Other Income"
       }
      }
     },
     "localname": "OtherIncomeAndOtherExpenseDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/OtherIncome"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r93"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "negatedTerseLabel": "Other expenses"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherPrepaidExpenseCurrent": {
     "auth_ref": [
      "r5",
      "r10",
      "r240"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for other costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Other Prepaid Expense, Current",
        "terseLabel": "Prepaid expenses"
       }
      }
     },
     "localname": "OtherPrepaidExpenseCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRestructuring": {
     "auth_ref": [
      "r103",
      "r249"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.",
        "label": "Payments for Restructuring",
        "negatedTerseLabel": "Payments"
       }
      }
     },
     "localname": "PaymentsForRestructuring",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDebtExtinguishmentCosts": {
     "auth_ref": [
      "r100"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for cost from early extinguishment and prepayment of debt. Includes, but is not limited to, third-party cost, premium paid, and other fee paid to lender directly for debt extinguishment or debt prepayment. Excludes accrued interest.",
        "label": "Payment for Debt Extinguishment or Debt Prepayment Cost",
        "terseLabel": "Payment amount"
       }
      }
     },
     "localname": "PaymentsOfDebtExtinguishmentCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "auth_ref": [
      "r101"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for loan and debt issuance costs.",
        "label": "Payments of Financing Costs",
        "negatedTerseLabel": "Payments for deferred financing costs &amp; termination fees"
       }
      }
     },
     "localname": "PaymentsOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "auth_ref": [
      "r101"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.",
        "label": "Payments of Stock Issuance Costs",
        "negatedTerseLabel": "Offering costs paid on the issuance of common stock and warrants",
        "terseLabel": "Offering costs paid on the issuance of common stock and warrants"
       }
      }
     },
     "localname": "PaymentsOfStockIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [
      "r98"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Payment, Tax Withholding, Share-based Payment Arrangement",
        "negatedTerseLabel": "Common stock withheld in lieu of income tax withholding on vesting of restricted stock units"
       }
      }
     },
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r95"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Acquisitions of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r386",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]",
        "terseLabel": "Preferred Stock"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r23",
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock authorized (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r23",
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r23"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Preferred Stock, Shares Outstanding",
        "terseLabel": "Preferred stock, shares outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r23",
      "r534"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, par value $0.0001 per share:"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r9",
      "r37",
      "r38"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense and Other Assets, Current",
        "terseLabel": "Prepaid and other current assets",
        "totalLabel": "Total prepaid and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidInsurance": {
     "auth_ref": [
      "r6",
      "r10",
      "r237",
      "r240"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for insurance that provides economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Insurance",
        "terseLabel": "Prepaid insurance"
       }
      }
     },
     "localname": "PrepaidInsurance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidRent": {
     "auth_ref": [
      "r7",
      "r10",
      "r238",
      "r240"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for rent that provides economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Rent",
        "terseLabel": "Prepaid rent"
       }
      }
     },
     "localname": "PrepaidRent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfDebt": {
     "auth_ref": [
      "r97"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt.",
        "label": "Proceeds from Issuance of Debt",
        "terseLabel": "Proceeds from issuance",
        "verboseLabel": "Proceeds from bridge financing"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/DebtStreetervilleNoteDetails",
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt": {
     "auth_ref": [
      "r97"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a borrowing where a lender is placed in a lien position behind debt having a higher priority of repayment (senior) in liquidation of the entity's assets or underlying collateral.",
        "label": "Proceeds from Issuance of Subordinated Long-term Debt",
        "terseLabel": "Proceeds from issuance of subordinated convertible promissory notes"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSubordinatedLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOrSaleOfEquity": {
     "auth_ref": [
      "r96"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the issuance of common stock, preferred stock, treasury stock, stock options, and other types of equity.",
        "label": "Proceeds from Issuance or Sale of Equity",
        "terseLabel": "Gross proceeds from equity issuance"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOrSaleOfEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLoanOriginations1": {
     "auth_ref": [
      "r94"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash inflow associated with loan origination (the process when securing a mortgage for a piece of real property) or lease origination.",
        "label": "Proceeds from Loan Originations",
        "terseLabel": "Proceeds from loan origination"
       }
      }
     },
     "localname": "ProceedsFromLoanOriginations1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtPPPLoanDetails",
      "http://www.energyfocusinc.com/role/OtherIncomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromNotesPayable": {
     "auth_ref": [
      "r97"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from a borrowing supported by a written promise to pay an obligation.",
        "label": "Proceeds from Notes Payable",
        "terseLabel": "Proceeds from the Streeterville Note"
       }
      }
     },
     "localname": "ProceedsFromNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromRepaymentsOfLinesOfCredit": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net cash inflow or cash outflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's assets).",
        "label": "Proceeds from (Repayments of) Lines of Credit",
        "terseLabel": "Net proceeds from (payment on) credit line borrowings"
       }
      }
     },
     "localname": "ProceedsFromRepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r96",
      "r421"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options and purchases through employee stock purchase plan"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromWarrantExercises": {
     "auth_ref": [
      "r96"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from holders exercising their stock warrants.",
        "label": "Proceeds from Warrant Exercises",
        "terseLabel": "Proceeds from the exercise of warrants"
       }
      }
     },
     "localname": "ProceedsFromWarrantExercises",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Product Warranty Liability [Line Items]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties.",
        "label": "Product Warranty Liability [Table]",
        "terseLabel": "Product Warranty Liability [Table]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesProductWarrantiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]",
        "terseLabel": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": {
     "auth_ref": [
      "r243",
      "r510",
      "r514"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease.",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization",
        "negatedLabel": "Less: accumulated depreciation"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "auth_ref": [
      "r62",
      "r244",
      "r514"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "terseLabel": "Property and equipment, net",
        "totalLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": {
     "auth_ref": [
      "r18",
      "r242",
      "r508"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.",
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization",
        "totalLabel": "Property and equipment at cost"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r41",
      "r244"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]",
        "terseLabel": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r246",
      "r607",
      "r608",
      "r609"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r40",
      "r242"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Property and equipment at cost"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r18",
      "r244"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r18",
      "r242"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]",
        "terseLabel": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "verboseLabel": "Property and equipment, useful life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r87",
      "r231"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Provision for doubtful accounts receivable"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.",
        "label": "Purchase Obligation",
        "terseLabel": "Outstanding purchase commitment"
       }
      }
     },
     "localname": "PurchaseObligation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information Disclosure [Abstract]",
        "terseLabel": "Quarterly Financial Information Disclosure [Abstract]"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "auth_ref": [
      "r168",
      "r169"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.",
        "label": "Quarterly Financial Information [Text Block]",
        "terseLabel": "Supplementary Financial Information to Item 8."
       }
      }
     },
     "localname": "QuarterlyFinancialInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable": {
     "auth_ref": [
      "r199",
      "r202"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.",
        "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]",
        "terseLabel": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table]"
       }
      }
     },
     "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r378",
      "r525",
      "r526"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Domain]",
        "terseLabel": "Related Party [Domain]"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionAmountsOfTransaction": {
     "auth_ref": [
      "r525",
      "r529"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of transactions with related party during the financial reporting period.",
        "label": "Related Party Transaction, Amounts of Transaction",
        "terseLabel": "Amount invested"
       }
      }
     },
     "localname": "RelatedPartyTransactionAmountsOfTransaction",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "Related Party Transaction [Line Items]"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]",
        "terseLabel": "Related Party Transactions [Abstract]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r378",
      "r525",
      "r529",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.",
        "label": "Related Party [Axis]",
        "terseLabel": "Related Party [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r523",
      "r524",
      "r526",
      "r530",
      "r531"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "Related Party Transactions"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentsOfDebt": {
     "auth_ref": [
      "r99"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow during the period from the repayment of aggregate short-term and long-term debt. Excludes payment of capital lease obligations.",
        "label": "Repayments of Debt",
        "terseLabel": "Repayments of debt"
       }
      }
     },
     "localname": "RepaymentsOfDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfNotesPayable": {
     "auth_ref": [
      "r99"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.",
        "label": "Repayments of Notes Payable",
        "negatedTerseLabel": "Payments on the Iliad Note",
        "terseLabel": "Payments on the Iliad Note"
       }
      }
     },
     "localname": "RepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r435",
      "r547",
      "r621"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Product development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.",
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Product development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r435"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Product development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedCash": {
     "auth_ref": [
      "r116",
      "r562",
      "r580"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.",
        "label": "Restricted Cash",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCash",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalents": {
     "auth_ref": [
      "r17",
      "r111",
      "r116",
      "r562",
      "r580"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents",
        "verboseLabel": "Restricted cash held in other assets"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/LeasesNarrativeDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesCashandCashEquivalentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units (RSUs)"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestructuringAndRelatedActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restructuring and Related Activities [Abstract]",
        "terseLabel": "Restructuring and Related Activities [Abstract]"
       }
      }
     },
     "localname": "RestructuringAndRelatedActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": {
     "auth_ref": [
      "r247",
      "r249",
      "r252",
      "r257",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.",
        "label": "Restructuring and Related Activities Disclosure [Text Block]",
        "terseLabel": "Restructuring"
       }
      }
     },
     "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/Restructuring"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "auth_ref": [
      "r248",
      "r249",
      "r254",
      "r255"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of restructuring cost.",
        "label": "Restructuring Type [Axis]",
        "terseLabel": "Restructuring Type [Axis]"
       }
      }
     },
     "localname": "RestructuringCostAndReserveAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Restructuring Cost and Reserve [Line Items]",
        "terseLabel": "Restructuring Cost and Reserve [Line Items]"
       }
      }
     },
     "localname": "RestructuringCostAndReserveLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RestructuringCosts": {
     "auth_ref": [
      "r109"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after cash payment, of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.",
        "label": "Restructuring Costs",
        "terseLabel": "Restructuring"
       }
      }
     },
     "localname": "RestructuringCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringReserve": {
     "auth_ref": [
      "r249",
      "r253"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan.",
        "label": "Restructuring Reserve",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Balance at December 31"
       }
      }
     },
     "localname": "RestructuringReserve",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringReserveCurrent": {
     "auth_ref": [
      "r20",
      "r249",
      "r255"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_RestructuringReserve",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of known and estimated obligations associated with exit from or disposal of business activities or restructurings pursuant to a duly authorized plan, which are expected to be paid in the next twelve months or in the normal operating cycle if longer. Costs of such activities include those for one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, relocating employees, and costs associated with an ongoing benefit arrangement, but excludes costs associated with the retirement of a long-lived asset.",
        "label": "Restructuring Reserve, Current",
        "terseLabel": "Accrued restructuring",
        "verboseLabel": "Less, short-term restructuring liability"
       }
      }
     },
     "localname": "RestructuringReserveCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringReserveNoncurrent": {
     "auth_ref": [
      "r63",
      "r249",
      "r255"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_RestructuringReserve",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of known and estimated costs associated with exit from or disposal of business activities or restructurings pursuant to a duly authorized plan, which are expected to be paid after one year or beyond the next operating cycle, if longer. Costs of such activities include those for one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, and relocating employees, and costs associated with an ongoing benefit arrangement, but excludes costs associated with the retirement of a long-lived asset.",
        "label": "Restructuring Reserve, Noncurrent",
        "terseLabel": "Long-term restructuring liability, included in other liabilities"
       }
      }
     },
     "localname": "RestructuringReserveNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestructuringReserveRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Restructuring Reserve [Roll Forward]",
        "terseLabel": "Restructuring Reserve [Roll Forward]"
       }
      }
     },
     "localname": "RestructuringReserveRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r27",
      "r350",
      "r425",
      "r534",
      "r582",
      "r600",
      "r602"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r139",
      "r140",
      "r141",
      "r143",
      "r149",
      "r151",
      "r229",
      "r422",
      "r423",
      "r424",
      "r457",
      "r458",
      "r477",
      "r597",
      "r599"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r119",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r366"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "terseLabel": "Revenue recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r82",
      "r124",
      "r192",
      "r193",
      "r198",
      "r203",
      "r204",
      "r210",
      "r211",
      "r214",
      "r228",
      "r270",
      "r271",
      "r272",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r494",
      "r574"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).",
        "label": "Revenues",
        "terseLabel": "Net sales",
        "verboseLabel": "Net sales"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails",
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.",
        "label": "Sale of Stock [Domain]",
        "terseLabel": "Sale of Stock [Domain]"
       }
      }
     },
     "localname": "SaleOfStockNameOfTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.",
        "label": "Sale of Stock, Number of Shares Issued in Transaction",
        "terseLabel": "Sale of common stock (in shares)"
       }
      }
     },
     "localname": "SaleOfStockNumberOfSharesIssuedInTransaction",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SaleOfStockPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.",
        "label": "Sale of Stock, Price Per Share",
        "terseLabel": "Sale of common stock (USD per share)"
       }
      }
     },
     "localname": "SaleOfStockPricePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r182",
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Net sales"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable": {
     "auth_ref": [
      "r468"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of information about a contingent payment arrangement including the terms that will result in payment and the accounting treatment that will be followed if such contingency occurs, including the potential impact on earnings per share if the contingency is to be settled in shares of common stock of the entity. The description also may include the period over which amounts are expected to be paid, and changes in the amount since the previous reporting period. This also includes contingent options and commitments.",
        "label": "Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table]",
        "terseLabel": "Schedule of Business Acquisitions by Acquisition, Contingent Consideration [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/CommitmentsandContingenciesNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r456"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of Components of Benefits from Income Taxes"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of Deferred Tax Assets"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of Effective Income Tax Rate Reconciliation"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r385",
      "r417",
      "r427"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r385",
      "r417",
      "r427"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Summary of Impact of Results of Stock-Based Compensation"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r210"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Breakdown of Product Net Sales"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r15",
      "r34",
      "r35",
      "r36"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of Inventory"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/InventoriesInventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r268"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Schedule of Warranty Activity"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r41",
      "r244"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]",
        "terseLabel": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesLonglivedAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.",
        "label": "Quarterly Financial Information [Table Text Block]",
        "terseLabel": "Schedule of Quarterly Financial Data"
       }
      }
     },
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Tables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r527",
      "r529"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Schedule of Related Party Transactions, by Related Party [Table]",
        "terseLabel": "Schedule of Related Party Transactions, by Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RelatedPartyTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "auth_ref": [
      "r248",
      "r249",
      "r250",
      "r251",
      "r254",
      "r255",
      "r256"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring.",
        "label": "Schedule of Restructuring and Related Costs [Table]",
        "terseLabel": "Schedule of Restructuring and Related Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": {
     "auth_ref": [
      "r249",
      "r255"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period.",
        "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]",
        "terseLabel": "Schedule of Restructuring Reserve by Type of Cost"
       }
      }
     },
     "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringRestructuringTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "auth_ref": [
      "r88",
      "r211"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]",
        "terseLabel": "Geographic Summary of Net Sales"
       }
      }
     },
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r386",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable": {
     "auth_ref": [
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Details comprising a table providing supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range [Table]",
        "terseLabel": "Share-based Payment Arrangement, Option, Exercise Price Range [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r392",
      "r405",
      "r408"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]",
        "terseLabel": "Summary of Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]",
        "terseLabel": "Summary of Restricted Stock Activity"
       }
      }
     },
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "auth_ref": [
      "r52",
      "r121",
      "r171",
      "r172",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r330",
      "r334",
      "r340",
      "r343",
      "r344",
      "r345",
      "r347",
      "r348",
      "r349",
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.",
        "label": "Schedule of Stock by Class [Table]",
        "terseLabel": "Schedule of Stock by Class [Table]"
       }
      }
     },
     "localname": "ScheduleOfStockByClassTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock": {
     "auth_ref": [
      "r352",
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.",
        "label": "Schedule of Stockholders' Equity Note, Warrants or Rights [Table Text Block]",
        "terseLabel": "Schedule of Stockholders' Equity Note, Warrants or Rights"
       }
      }
     },
     "localname": "ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecurityDeposit": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease.",
        "label": "Security Deposit",
        "terseLabel": "Short-term deposits - non-inventory"
       }
      }
     },
     "localname": "SecurityDeposit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PrepaidExpensesandOtherCurrentAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]",
        "terseLabel": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r189",
      "r190",
      "r191",
      "r196",
      "r197",
      "r202",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r213",
      "r214",
      "r215"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Product and Geographic Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]",
        "terseLabel": "Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingReconcilingItemForOperatingProfitLossFromSegmentToConsolidatedLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ProductandGeographicInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r91"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general, and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, general, and administrative"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityImpactofResultsforStockBasedCompensationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r108"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Noncash Expense",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r387"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "terseLabel": "Vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r398"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Canceled (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r403"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Canceled (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r401"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "verboseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r401"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "verboseLabel": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Outstanding at end of period (in dollars per share)",
        "periodStartLabel": "Outstanding at beginning of period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r402"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r402"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreed-upon price for the exchange of the underlying asset relating to the share-based payment award.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price",
        "terseLabel": "Exercise price (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "terseLabel": "Expected volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "terseLabel": "Risk-free interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": {
     "auth_ref": [
      "r397"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-option equity instruments exercised by participants.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Exercised",
        "terseLabel": "Issuance of common stock upon the exercise of warrants (in shares)",
        "verboseLabel": "Warrants exercised (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": {
     "auth_ref": [
      "r393",
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]",
        "terseLabel": "Restricted Stock Units Outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r389"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Number of shares authorized (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant",
        "terseLabel": "Number of shares available for grant (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "verboseLabel": "Exercisable (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "verboseLabel": "Exercisable (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r407"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Options exercised, intrinsic value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "auth_ref": [
      "r399"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period",
        "negatedTerseLabel": "Expired (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r398"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period",
        "negatedLabel": "Canceled (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r406"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Fair value of options issued (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r394",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Outstanding at end of period (in shares)",
        "periodStartLabel": "Outstanding at beginning of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Number of Options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Outstanding at end of period (in dollars per share)",
        "periodStartLabel": "Outstanding at beginning of period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted Average Exercise Price Per Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock": {
     "auth_ref": [
      "r408"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]",
        "terseLabel": "Schedule of Options Outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "auth_ref": [
      "r409"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Vested and expected to vest (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r409"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Vested and expected to vest (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": {
     "auth_ref": [
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period",
        "terseLabel": "Shares issued in the period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r384",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Award Type [Domain]",
        "terseLabel": "Award Type [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityRestrictedStockUnitsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityStockbasedCompensationDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofRestrictedStockActivityDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price",
        "terseLabel": "Expired (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price",
        "terseLabel": "Canceled (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r386",
      "r391"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Share-based Payment Arrangement [Policy Text Block]",
        "terseLabel": "Stock-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": {
     "auth_ref": [
      "r410"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by range of option prices pertaining to options granted.",
        "label": "Exercise Price Range [Axis]",
        "terseLabel": "Exercise Price Range [Axis]"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": {
     "auth_ref": [
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices.",
        "label": "Exercise Price Range [Domain]",
        "terseLabel": "Exercise Price Range [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]",
        "terseLabel": "Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": {
     "auth_ref": [
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit",
        "terseLabel": "Range of Exercise Prices, lower limit (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": {
     "auth_ref": [
      "r404"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable",
        "terseLabel": "Number of Shares Exercisable (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions": {
     "auth_ref": [
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding",
        "terseLabel": "Number of Shares Outstanding (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": {
     "auth_ref": [
      "r416"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit",
        "terseLabel": "Range of Exercise Prices, upper limit (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by supplier.",
        "label": "Supplier [Axis]",
        "terseLabel": "Supplier [Axis]"
       }
      }
     },
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Specific identification or general nature of (for example, a construction contractor, a consulting firm) the party from whom the goods or services were or are to be received.",
        "label": "Supplier [Domain]",
        "terseLabel": "Supplier [Domain]"
       }
      }
     },
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Price of a single share of a number of saleable stocks of a company.",
        "label": "Share Price",
        "terseLabel": "Stock price (in dollars per share)"
       }
      }
     },
     "localname": "SharePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "auth_ref": [
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period",
        "terseLabel": "Vesting periods"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r412",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected life of option (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEstimatesUtilizedDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "auth_ref": [
      "r420"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Intrinsic value of options exercisable"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Weighted Average Remaining Contractual Life (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchase price of common stock expressed as a percentage of its fair value.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent",
        "terseLabel": "Purchase price of common stock, percent"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityEmployeeStockPurchasePlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": {
     "auth_ref": [
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1": {
     "auth_ref": [
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r409"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term of outstanding stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Weighted Average Remaining Contractual Life (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityOptionsOutstandingandExercisableDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r117",
      "r138"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use.",
        "label": "Software and Software Development Costs [Member]",
        "terseLabel": "Computer software"
       }
      }
     },
     "localname": "SoftwareAndSoftwareDevelopmentCostsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate standard product warranty liability that is expected to be paid within one year or the normal operating cycle, if longer. Does not include the balance for the extended product warranty liability.",
        "label": "Standard Product Warranty Accrual, Current",
        "periodEndLabel": "Accrued warranty reserve at the end of the period",
        "periodStartLabel": "Balance at the beginning of the year",
        "terseLabel": "Accrued warranty reserve"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r264"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the standard product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard product warranty. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Decrease for Payments",
        "negatedLabel": "Settlements made during the year (in kind)"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r266"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Adjustments to existing warranties"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r265"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the standard product warranty accrual from warranties issued. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Increase for Warranties Issued",
        "terseLabel": "Accruals for warranties issued"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesScheduleofWarrantyActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r267"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Product warranties"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State and Local"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r22",
      "r23",
      "r24",
      "r121",
      "r124",
      "r155",
      "r156",
      "r157",
      "r159",
      "r161",
      "r171",
      "r172",
      "r173",
      "r228",
      "r270",
      "r274",
      "r275",
      "r276",
      "r279",
      "r280",
      "r325",
      "r326",
      "r330",
      "r334",
      "r342",
      "r494",
      "r630"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]",
        "terseLabel": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r54",
      "r77",
      "r78",
      "r79",
      "r139",
      "r140",
      "r141",
      "r143",
      "r149",
      "r151",
      "r170",
      "r229",
      "r342",
      "r350",
      "r422",
      "r423",
      "r424",
      "r457",
      "r458",
      "r477",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r597",
      "r598",
      "r599",
      "r646"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]",
        "terseLabel": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]",
        "terseLabel": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]",
        "terseLabel": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r139",
      "r140",
      "r141",
      "r170",
      "r548"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of preferred stock and warrants for common stock issued.",
        "label": "Stock and Warrants Issued During Period, Value, Preferred Stock and Warrants",
        "terseLabel": "Issuance of common stock upon the exercise of warrants"
       }
      }
     },
     "localname": "StockAndWarrantsIssuedDuringPeriodValuePreferredStockAndWarrants",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r53",
      "r301",
      "r342",
      "r343",
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.",
        "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities",
        "terseLabel": "Conversion of convertible securities (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "auth_ref": [
      "r23",
      "r24",
      "r342",
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "terseLabel": "Issuance of common stock under employee stock option and stock purchase plans (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r23",
      "r24",
      "r342",
      "r350"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Stock Issued During Period, Shares, New Issues",
        "terseLabel": "Shares issued (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtConvertibleNotesDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityPreferredStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesPeriodIncreaseDecrease": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the period in the number of shares issued.",
        "label": "Stock Issued During Period, Shares, Period Increase (Decrease)",
        "terseLabel": "Issuance of common stock and warrants (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r23",
      "r24",
      "r342",
      "r350",
      "r397"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Exercised (in shares)",
        "terseLabel": "Exercised (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityStockOptionsNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquitySummaryofOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r54",
      "r342",
      "r350"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities.",
        "label": "Stock Issued During Period, Value, Conversion of Convertible Securities",
        "terseLabel": "Conversion of notes to preferred stock"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "auth_ref": [
      "r23",
      "r24",
      "r342",
      "r350"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.",
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan",
        "terseLabel": "Issuance of common stock under employee stock option and stock purchase plans"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r23",
      "r24",
      "r342",
      "r350"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Issuance of common stock and warrants"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contracts conveying rights, but not obligations, to buy or sell a specific quantity of stock at a specified price during a specified period (an American option) or at a specified date (a European option).",
        "label": "Equity Option [Member]",
        "terseLabel": "Equity Option"
       }
      }
     },
     "localname": "StockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r24",
      "r29",
      "r30",
      "r124",
      "r225",
      "r228",
      "r494",
      "r534"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "totalLabel": "Total stockholders' equity",
        "verboseLabel": "Stockholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets",
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "STOCKHOLDERS\u2019 EQUITY"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r122",
      "r326",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r338",
      "r339",
      "r341",
      "r350",
      "r353"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Stockholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StockholdersEquityNoteStockSplitConversionRatio1": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio applied to the conversion of stock split, for example but not limited to, one share converted to two or two shares converted to one.",
        "label": "Stockholders' Equity Note, Stock Split, Conversion Ratio",
        "terseLabel": "Reverse stock split ratio"
       }
      }
     },
     "localname": "StockholdersEquityNoteStockSplitConversionRatio1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperationsParanthetical",
      "http://www.energyfocusinc.com/role/StockholdersEquity1for5ReverseStockSplitDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_SubleaseIncome": {
     "auth_ref": [
      "r516",
      "r521"
     ],
     "calculation": {
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails": {
       "order": 1.0,
       "parentTag": "efoi_OperatingLeaseCostNetOfSubleaseIncome",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of sublease income excluding finance and operating lease expense.",
        "label": "Sublease Income",
        "negatedTerseLabel": "Sub-lease income"
       }
      }
     },
     "localname": "SubleaseIncome",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/LeasesComponentsofLeaseCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of sale of the entity's stock.",
        "label": "Sale of Stock [Axis]",
        "terseLabel": "Sale of Stock [Axis]"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringNarrativeDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityJune2021EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityOutstandingWarrantsfromtheJanuary2020EquityOfferingDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplierConcentrationRiskMember": {
     "auth_ref": [
      "r181"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that purchases in the period from one or more significant suppliers is to cost of goods or services, as defined by the entity, such as total cost of sales or services, product line cost of sales or services, segment cost of sales or services. Risk is the materially adverse effects of loss of a material supplier or a supplier of critically needed goods or services.",
        "label": "Supplier Concentration Risk [Member]",
        "terseLabel": "Supplier Concentration Risk"
       }
      }
     },
     "localname": "SupplierConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Supplies": {
     "auth_ref": [
      "r8",
      "r10",
      "r239",
      "r240"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration paid in advance for supplies that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Supplies",
        "terseLabel": "Prepaid Supplies"
       }
      }
     },
     "localname": "Supplies",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesConcentrationRiskDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "auth_ref": [
      "r219",
      "r220",
      "r221",
      "r222",
      "r224",
      "r226"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for accounts receivable.",
        "label": "Accounts Receivable [Policy Text Block]",
        "terseLabel": "Accounts receivables"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "auth_ref": [
      "r248",
      "r249",
      "r254",
      "r255"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the types of restructuring costs.",
        "label": "Type of Restructuring [Domain]",
        "terseLabel": "Type of Restructuring [Domain]"
       }
      }
     },
     "localname": "TypeOfRestructuringDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/RestructuringReconciliationofRestructuringLiabilityDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnamortizedDebtIssuanceExpense": {
     "auth_ref": [
      "r42"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset.",
        "label": "Unamortized Debt Issuance Expense",
        "terseLabel": "Unamortized net issuance costs"
       }
      }
     },
     "localname": "UnamortizedDebtIssuanceExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r442"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Accrued interest and penalties related to uncertain tax positions"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/IncomeTaxesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r175",
      "r176",
      "r178",
      "r179",
      "r185",
      "r186",
      "r187"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": {
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r135",
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward.",
        "label": "SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]",
        "terseLabel": "Valuation allowance for deferred tax assets"
       }
      }
     },
     "localname": "ValuationAllowanceOfDeferredTaxAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "auth_ref": [
      "r131",
      "r136"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesBalance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "auth_ref": [
      "r134"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense",
        "terseLabel": "Charges to Revenue/ Expense"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r135"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction",
        "terseLabel": "Deductions"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r135",
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]",
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r131",
      "r132",
      "r133",
      "r135",
      "r136"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]",
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ScheduleIIScheduleofValuationandQualifyingAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VehiclesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment used primarily for road transportation.",
        "label": "Vehicles [Member]",
        "terseLabel": "Vehicles"
       }
      }
     },
     "localname": "VehiclesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/PropertyandEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WarrantMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Security that gives the holder the right to purchase shares of stock in accordance with the terms of the instrument, usually upon payment of a specified amount.",
        "label": "Warrant [Member]",
        "terseLabel": "Common Warrants"
       }
      }
     },
     "localname": "WarrantMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/StockholdersEquityDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/StockholdersEquityWarrantsOutstandingfromtheDecember2021PrivatePlacementDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesFinancialInstrumentsDetails",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesNetLossPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r154",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Diluted (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails",
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r153",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/ConsolidatedStatementsofOperations",
      "http://www.energyfocusinc.com/role/SummaryofSignificantAccountingPoliciesReconciliationofBasicandDilutedIncomeLossperShareDetails",
      "http://www.energyfocusinc.com/role/SupplementaryFinancialInformationtoItem8Details"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WriteOffOfDeferredDebtIssuanceCost": {
     "auth_ref": [
      "r92"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Write-off of amounts previously capitalized as debt issuance cost in an extinguishment of debt.",
        "label": "Write off of Deferred Debt Issuance Cost",
        "terseLabel": "Write off of remaining related debt and acquisition cost"
       }
      }
     },
     "localname": "WriteOffOfDeferredDebtIssuanceCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://www.energyfocusinc.com/role/DebtCreditFacilitiesDetails",
      "http://www.energyfocusinc.com/role/DebtIliadNoteDetails"
     ],
     "xbrltype": "monetaryItemType"
    }
   },
   "unitCount": 6
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6787-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4273-108586"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4304-108586"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4332-108586"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e7018-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1278-109256"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2626-109256"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(19)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124502072&loc=d3e1280-108306"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124502072&loc=SL124452896-108306"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "270",
   "URI": "http://asc.fasb.org/topic&trid=2126967"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "http://asc.fasb.org/topic&trid=2155823"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(1))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(e))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "420",
   "URI": "http://asc.fasb.org/topic&trid=2175745"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(4))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466302&loc=d3e4852-112606"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466302&loc=d3e4724-112606"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466204&loc=SL6031897-161870"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466204&loc=SL6031898-161870"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123467658&loc=d3e12317-112629"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "40",
   "SubTopic": "50",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123467658&loc=d3e12355-112629"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "480",
   "URI": "http://asc.fasb.org/extlink&oid=109262497&loc=d3e20148-110875"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(CFRR 211.02)",
   "Topic": "480",
   "URI": "http://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21553-112644"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(5))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496180-112644"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496180-112644"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21475-112644"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21484-112644"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21488-112644"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21506-112644"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21506-112644"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21521-112644"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21538-112644"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 4.C)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187143-122770"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "50",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6784392&loc=d3e188667-122775"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130561-203045"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130564-203045"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "610",
   "URI": "http://asc.fasb.org/topic&trid=49130413"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409733&loc=d3e19512-108361"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409875&loc=d3e20028-108363"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(f)(3)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(4)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109244661&loc=d3e17540-113929"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109244661&loc=d3e17540-113929"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(a)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(b)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "720",
   "URI": "http://asc.fasb.org/topic&trid=2122503"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "c",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569616-111683"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569643-111683"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL6742756-110258"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13467-108611"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13476-108611"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.28,29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "http://asc.fasb.org/topic&trid=2122745"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61929-109447"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61929-109447"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62059-109447"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62059-109447"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62395-109447"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62395-109447"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62479-109447"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62479-109447"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=SL6807758-109447"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=SL6807758-109447"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61872-109447"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61872-109447"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(20))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Subparagraph": "e",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123345438&loc=d3e61044-112788"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r585": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r586": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r587": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r588": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r589": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r590": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r591": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r592": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r593": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441"
  },
  "r597": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r598": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r599": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8,17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r600": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r601": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r602": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r603": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r604": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r605": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=123364037&loc=d3e3115-115594"
  },
  "r606": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r607": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r610": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r612": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r613": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r614": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r615": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r616": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r617": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r618": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r619": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r620": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691"
  },
  "r621": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r622": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r623": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r624": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r625": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r626": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r627": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r628": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r629": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "210-10-S99-1(SX 210.5-02(24))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r630": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r631": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r632": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "11",
   "Subsection": "03"
  },
  "r633": {
   "Footnote": "2",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r634": {
   "Footnote": "4",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "29"
  },
  "r635": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column B",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r636": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column C",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r637": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column D",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r638": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column E",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r639": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column F",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313"
  },
  "r640": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column G",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r641": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column H",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r642": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "Column I",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "28"
  },
  "r643": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "09"
  },
  "r644": {
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Paragraph": "(m)",
   "Publisher": "SEC",
   "Section": "4",
   "Subparagraph": "(1)(iii)",
   "Subsection": "08"
  },
  "r645": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r646": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(3)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(7)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(13))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868656-224227"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.8)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>113
<FILENAME>0000924168-22-000023-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000924168-22-000023-xbrl.zip
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
MTB??3]^0I[+J;N.H@+V(?%7F@%+&),E; W"P5@3%E(@VI%* 8OX!O+?2OC,
M'B\;.!MT9><UQ5@(A@B84ZG4%&%NGL:VO@,>&=L3[ ];9#X7?_-*QGQD-D10
MQH#/QB<F,Z)@P%A*TL\1CYBZ,9V*-PPI$F@4_R!3$#1Z;7,(:+01"B/,PQ2X
M'P"XB65$*@XOM7"[VQH.-K>V%Q%,ZE0OE8Q"@X1HO;4V\T!J6"KO<W6S&LP<
M@ODPGG$JX$640DF5F50:4*92&]]'64HC\RC3S1)-<PC>M#SC=,(,8S"D[)+S
M&4@!0PS6Y)A8H3X9XQP0G3(L^[;?2\=QN-&_C*2O[C7U>:7(9:,[SS'^O9;H
M,M &4-G  H>8E>,*P3BP,;*R?=6<2,@O 797V:O7ZV]6EF\I=W,I'88QHSA2
M5,L$N)P" N>9>6O (/TQ)](Q*0Q_2107=[5X .,U(F>EMK!V(41ALF%91 3+
M\CQ,U)@)[[*X$D)TTH+F8"(1#B%3D()+'SV&["S"O-03F(IWV7[_:J%]BV5,
M<1NYM3*!8\HKI81GQ@@3$NIY2,+]LC(_RL8/QL0SMU):$9(0(*RV&CW/7I$E
M\1)UGOT2=Z.$#\%S7.HKO>H-ADO=1+\1DC?BT?&FU:_:O<'\E)!#G8R3VF6;
M-203@Y>)4?B0T,:,>9ZFZ\P.4C.0+XA&,4Q18XX0H_" "=!R]%*SX-CLEVB;
M'33OI00:Q5U)@DCD&!D 9LLU<#1,BD2$2O$Y<)JSA]3T_5U@#C&5G'D.X"7S
M(#$"R*@CTK$Y*(L\.VC>2U7DS &\=4XRD2#%Z)+G5L@LE/%&Q''I01AO!0GW
MOW_@+P@VW'Z[19C,=HO<::^9$CQ* X'\B$+#E;1204@N\<M-.NQ,=-?U32_L
M+V]I>-QM7;Q^[&-J#?.EQ']^P\Y%#<X+*G_19JP5XRN.FXR_ETM^FXA)G;0E
MG@S.@7?H/-@82$R-EFF\63U[B/TL?[J#)[5GI 0?0_(F182<4K N6IU+OX"S
MX_VNN/A,1=D,[G=%=NHGN!Z;3.8_P&A@B)@=>.9=5!#IA70**?&Y6F9%H3"]
M^/#L;9MDB!Q/*>M^5*[QK8F.GP\^#A3]E =4PO+HI4Q" 7H=' J9H@"I7%FQ
M]"@NCYG?JXOM(Z+C$E52Y)IT<BH'&Y%8@+(@@YM]1GLO4C(K?#:2!G..2C#M
M(:(A:!2B\#:(R&6>@UT^9A">R87Y%/8A!K*O97:Q,SY@=J70D+4<0LCS4%_H
MIW"Z7//2:T]@)ZW?RRTGD@AC@6GN(WC0SD+,%)<69@?2SD--_)F2E,7UR#IY
M!QJ-4V13E' A&B5,A%+'3/H0%L0C_X2 S(HS-H8%]":RX)'H4?#".QLR2R$C
M<Z@6Q!D_&#*3\\-66$S$8%.I&!7*=L'2J^"89,1BHYBG0L0_Q9?>XWXKMA>S
MR(;WV9A@O?,"P8$)1A5652JJBQ Y6Q [>/]0WHLMY%XI)BA@-#F6XO8^1P.2
MRT#AI(I!+(@M?%!T)K@#$[<ARA"X=!J(< 9'@210?!(\!&'%HMK#U>-^=[0.
MGQJNMDX7M@"15-H;(/H!/(-"XH@L.^8%1.F4=XN6M7D86._%3C+)B9GH4,I#
M03)$&F.@/[*,T8-5<L'LY(,C-3F;Z1A&+XU7C RF=1BL8-&I(*WB99AN46WF
M5B\//_D18N./RV4#Q-[HC#)%8"%-*$NL+'3,208&6H$SR;D4F/',Z\3C@IG0
MJ:!\+Q8U11UUD."%!!#4L8R\8(H^6!X$DW;!+.JT@9M@LIQ1D(")0G69B[I9
MS25:QC!SQJ)8M(#N#?H![O?::;USU.^=7&SE.B<ZA@Y !Z_+-&[2L6"S$4&H
MG"+];,4<S"^=<:@FIU7>I%(,!262$Q/9>2O)$D:.!NDV:AZ6_OU\=G*S%WH+
M2DLB*E=VQ R9@U A2)$HE"\59S5D7*CL_WVA>"\FT5/PIHAU*(H'0"0;4N3@
M>+# LM)QH9+_#P#,Y Q@CE('9ZQW08#UW"J5<PZ(.E WHEX0C;E2%^-B!C==
M8KU+I^Y1B#TO2B2=,#YF+97RQ"O0<R-T"B*C#^A,7! EFB)6D].KY+/F3AH0
M40 A$JSR9/9\B"PAH3:>$LYG89KNS2GA?"+CO2%J(TN@HAB@-EX8E9@-EMY?
MV2@?K@=^55J7,0S71S)83KQBX=>[)_1#KW\VGM!^USD:GT7^VC3YF\6U3GKM
MD[+NY%JC>]:'24F#0AX49"#P$90BDBV(;B.CF#837[L8\>*,S-JC-,RJ-(P6
MS(A)K&9 BQ:20%[R^$GEH'/FW#E)@1C+QC[:AJ_O^-[W6Z50\";%1C<"\%XW
M%1<YQ'[PW<.-G)&$HK1[L_YR8W-1Q7%RQHDQD(9S[TK"AD=9YJ*2T&CMG-+,
MP^R3X$=QG+HX3G 9IHHA943RBPA:.9ME5HF#YH&$-)C9Y_F/XCAU<9Q<**-L
MYDYCS%D'T(@>O#()(Q$XL#&-"P^3LZX>O?9,BL7-DAM7W>9?+\.\UO0N)?9&
M2Z)169,-A C!.J-MIN"XY"^$>O2P,RHZ]Y,-#HZ70N8\>@=!<,N<5%Q8(R P
MG>8@&_PH#1,<V38!N8V2&^&!>VO!>%3<EF+:,24WQ\'@ERU,!XLO#Y.*QD Y
M8\@H*$M(>28#ZL@B!T/V(%F<@S3WUV1T) T??+N]->PC#E_WCOM=W_Y7:V\?
M!\.W?;I$:3LIV7B4QXE.!\^8D ='81D (CBG4W%9";U0, ]+RA[E<?KR.#GV
MY*SD:'S9*MJ"4,SS'!.75D8ELA7SG*UZE(=?R5YFE9+6'ETLU=2$M](1=XH9
MG>;6\]GWEX_R,$E_!2EHKWA*@ &TCDX'L*Z4;<L"A(^+D*]9=,&8?L:&&RZ<
MXR9%E8"A=:F,UMK,(">AHIDC*9H\HG<7X*7CP;#5760!LA"R0@]@I8$4D[<L
MRXPAN8C&I3D8XYU=N9G+N#Z6!4(Z^\R9 "*P+C,C-29KF0F*/5J4>9",Z=N5
M@"I3**Z""P:L4AX-2)]C2"!1.OUH5V;1']V+1<E. SJ.FGL&CCMGM"!C LYD
MR'@YR;),*C.S*@K?Q>,B+U.VQ&BWL=$;XMOC?MSW US:HP.E\0-,]3(3P"@!
M)U@D)UP$6-2>JU#,?E;"D"=(XYK2PE2/8-UAL<U5N'Y8]?I+TSMM>R1T#)C(
M'A-J.9,AUES8'#69:"WMW"*[2>_4&6U#_';4&]<M]%^WW>C>?];T]Q0W8V0.
M.HC$O .FD_?""W160S!!J_Q;BEOS4^]1W"8E;I\KVJ?1CKF^_>U:]N.CXZO<
MNHI]<*X4)8R\#"1)$WRR1A.+S88;2U>=X\3]U.G*Q.9>.IU!RUAJI$'4)B0"
MRZ@@A$N,F?$F[<!--?XP=V"]]6?T0/'P;9^ &BVO&BVN\IU72YLK6TOQOO69
M%27EM]+G&TWO4D(V>6EC*>P.$0)%C#Q+RS5Q4E#:J,M9!8]X_DHX=Q6BNTP+
M\U*A,YQE9B%%<$$&TD'O*6@0+LY!N>Z9A6AR99XBLRI;Y92!D#'X:,$DI4*(
M$B5<;EG(A9H[B-;;+9\>W'65W0IY)=0$L D<N<(R6L,)DYQ")&(,006/%):E
MT58G%]A4CR#]I,^Z"=-?^*R;3>_BLRB.QL1%$"P!(1@@.<@@;/!@=<A3V/1G
M81"=SG9$R'76Z**07D.TRG,9L[$*N:&?T,Z1CFX=AT$KM7S_;,NW<2-O#7OQ
M\ JPKWWWF Z6[BO+_(=GHY4W$RAH/[,B-1TC$5/,*+0T"0-@<&5)CK?.8S2,
M8DMY(5),"E>-/\RJ2+WI=?<HB.P49+]9#^($^\-6:&-I<.]8,ED)=SLLKS6]
M Y9@G6-&26$8!QFX,Z'4R4^I),^Y3C>Q?( -[WX_+/5D-H6,$J#L:QH](Y<=
M96 \@6 6/6-):+S$TEPZ;\:Y?L3R5EB:6[MMZENN)X"E!&.$\C9A3)!X]M%3
M/)HA"W!<I''RX!'"V^4+KJ)REX5#04F9B265PNQ:2)O!**6,"SF3_0SC[=FY
M?M2PGTO/707H831,9<(MAL"CLP"@O47ZS,E<EE4_R,=8?@YU9C<)-$DL;\_&
MA]3QY4$ON/:K7N>HUZ6O@^MW?]L?#5Y@&K'UAQ"DGXBP)E("DD<4&,A"YPA
M ;3WFCDCG2-?'+2R<R1(M\24?N_TNK<!='[-T4-+D?<J@,C"9;00E;2^6"(2
MFPR<+-4\;0'R:(ZF6I%6.:%$CDXK#BREP("K*)BF ];F>=H7X=$<37&[!>V#
MCL$D=(#)>2.,0; I"*^3S!?#+H^IG=L-N%Q+!MREBITV(0?+= H2E-36!RZ#
M]D"]QU"YSU'A[.9PQRK]JNT'@VLYW&] <]_6^JL@<1*C8CE$9<B'>Y4-*0R$
MS$-)D-IDN93^8OZI&!M@P>3L&>"R9>MGI+8B=CV]_9?=7,>_K/;Z&/W@O@V@
MN+T!%$75)K,!L&$0*+0G)9,0F K96?3&,609#<-+%&&,X@PF1F<.1;@]BA-*
MB090)I@0E%>EFEVRC/BU"-QD]!G5/&WX_:/1KV6,HW/+>[SMMTZHQ]ZV?;S-
M*-2MG^'2:'_P_3X9QXW^9FMO?WC=>E\>6T1.%#B+"H*3BBF(W%J2(B&T1&$Y
M#SA/>X+/N#!=S&#JX^IQ-V&Z;+&0^X>4[2 C!RQ+5(DLJ, U9P"0R]AJ4GSV
M9^@N1I!V*V?ZJG=<BGH>D6"<-7SG:F6;U>/2[*WO'[YY\VI.9AY'U-89I[Q/
M"&7REE1!18KX;# @U!R42'QXV?N!&+SLM]KM%N&Q5:S'RJA9OS7 ]6Y\.HMB
M/RNBR*0+6CG@41-/$R$ -XQ;K8WRSBCQ<('MM*)&F[R2$H1.TH*Q*6@=.-?@
M >D_D:8PM#@7PW@L$*V7GFB]LQ"T=XD'D;/%[$VV3L[3Z,L/2%F9>M8:'I>Y
MW+Y=RGX.AKW^(HZ%<'!1F 0I<B2^K5VV$$DUO!-&<X4+1+2_.V?Q)UGW7))?
MPV-$$)$(<,F708 ,,6GFK# 8$BR0[LX*SE/19ZV",QR]BX$BFT"1L^56$>PN
M@K0N7'IWR>VLPENV#[M!]<I/Y;'O.RLM*_[E5>ZPE9LU/CJORD:(P(0.F',B
M+# S24?F8?_L*6$P.99K G4T=3&4HF:A[,R;.)J8R0):)80?#:H!4VQF9XU]
M%P,.]SJ$!A53%9O$%#XTDCI84<\D!H;[X)#4029EK#'6CB(-KI@1XA&#ZQBH
M,@]6B$E$>R:"TYY".^$!A"NT3@0)T9*")'6A!X9I,7^VZ)XQ,&5D1$QD7:4$
MHW,&-(R!]LGRR%QF-KO(0M3SM _UTB??3U]G0E8Z1^W>&>*(BFV,2E@L(HD.
M4EI+-HU")0<ZV\!+P$1P&25):>=I5.+7M>J'MRAYNTW?W<,OXY_U5K?5.>Y,
MXLK-UK"0_O5N:IVTTK%O7WF#L1@NHNR1 5?9N(Q2E$F+F;Y**:.WP67)V3S-
M-;MGV9N A/R2C/O36\CX?,I>9 C),*.\&"4/3) B1^)VF$%P.T>R-S$'=F=1
M;/2ZX[LNM_H8[S_!.)W$$[G&I!(CJ7' LO4R(TKNDHZ,<Q?G2';6N['7P<\#
M86]ZT1=!N3DH-!ANY)*96LA!=-!H%<_<96-!6><4X\Z7*K])91_$'.419PS.
MJ:0+A47.($5,#D#:Z+F-.@=%<4K6+,T3J[@5G)LX0-^/^TO497B"[=[1:$C[
M](BNMI"TD06A1<JEOH@$%8(S-@M6-I=1EK13+YJ^3A/@J6@PANP@:"E3-!25
MYE"*CXC  +4T!.NB:? 6MMNM[MX:=K%/?*J;EE*'HLO!L$^-3_ 2Z87TO2Q:
M<KJ,Z!,ZB,QYQQ5!(**31D5N%DV79P/JJ6AU((25BMI"SF2VDY426#36)(K^
M;9HGLSTS*<.I "E+X2<-/D;ZDV"T/!B"-EDF(Y!SGOVQP&GB=R]#@[+L*&#
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
M7#FK4D(7U9,7&_NMWM>CP \$X]L>X=3>;1U=9"5^+XS.ES[:K)Q@.E0B@*S
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
M)UF-_%SER$>PN7^1K?IB/>EDJ/:?C*$ZOOC'Z57TXOPBNCC]Y>SRZN+X]95
MO"XI7W3^.CK]G[=G5_^,X1LO"1UY>75^\H]?SU\^/[V(7AU?79U>7,;1\>OG
MT=GEY5OXVYNW%R>_'E^>7B*,AG\<79Z>O+TXVP2L7ZD1/ 0C>/ATC2 IC8.G
M$K#^O^#*GE[\=OK\_]M$JE_?6=[;_I1G^3%:_\.G8_U?'_]RBB4A:_(Q6GU[
M>7D&9A\M.GSAY3\OS\B2OSA[??SZY.SX)4)CGX,ME^^ -GC[\HJ^@DGI8_Q@
M8^6_1LVP"YKAZ(E;^<./1(,\OM?]G[<0"YQ=P7G^[90..OSAI?[;RVI%QS^?
MO[V*))1 #,G&+?CZ#O\0FYCW/AEXY/$92SK]1T_%-7#&_A)._"GW2*(2N'S[
MYLU+^O?QQ3^CY\=7QQM3_S6>]GTX[;M?UM9_V2C@V5.Q\R>_'K_^Y10[H.F
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
MSO12>#XU8XSGN(#O0< %?Y!$/=X7];W==RT2Y#6G(PM)@W)I@/W=C8RL@XQ
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
MP4D2U6WC7DQ'G_K2+S4C3%8@:!#^TWA,FRSQ?6FWA1QP]@L,S_"L5?4[&EW
M1(>""L3,-0VQX"*AK>I@N_YU![:]NL6O2;^C]U-AU[/H0"(\SI6TP@>.< E[
MH7<>!&E")[VSS?X2O H\7#9$:ZOA&$'_U 9S]"C+[_-0=H6"^1DX;[G!$,/&
MY0"O3!NPF-* Q\ZQXA. ?892:1^N:\F/5$J%)25Y=[GPS%*K13ZUR3(NK1'+
M2Y*F>%J$2TB^ZU2RUE+"5U7:4*V]46P0J'([^%8[>:1*W4CGBX<UP#.(:A2'
MH"#ABRI;D5S"W(SP"0W"D9!/Y(HZL_.VLZP3%$(2G3<\;U8(>Y2?$I.3AY*?
MT*PXQ>^H!L=:!V<--#.Y'D;W@7['[THWJ]+J,E/8BJPC+GJ54>Q^\@I5Z'P1
M;X37 2+ 9,[?N.PMMA617#6,^<NG2(UBQA#7ZWW/*2-62XF7\&))#9O.8\M0
M4E?\ L=U(F.0TQFVM$PZ*JC9Z9 8D7%;MKO[%J)ZG;Y5$?:=KT6$_!=#U_YW
M4G:8%=[9WMEAF[]ZG["[9RK#:HEN!Z7[GDV*A997"YJ8VH-56OEMF1:C6YH3
MO0JJ8J5&H,5WMFKE3I\1# 4A#K@%Z.YHUE_.J!;J99^]3<9Z..N.YAWH7I.M
M?EPL:^.0,9ZE@A\;]<7<&%/*3/EXF(Y .R%5+@/9L>G+'K!&>\N(SQ9-I^C'
M6M[ VDW'LB7^BW6>+%I^);QQ"Y1^QA,-B>2U9!TG$$4=JY3AP9&QN7)X;G-R
M9?6EI,;MKR,] !%HLZJPL,'*ZR:$K1I[:,BEV^$69^5.4$M]7E@8.)=_@K[[
M.,JUM5]Z46V&4=UK9W#H,2V/@]IB1GU4Z3MR&)8P;JR.\Q^'NN>]0.ER.ZM;
M0H!;VA&W'[!"#0*OBGC1E;F+U,$*UG4""N$Q$/))O4,T@U./(BN-*?-J 2'$
M5@:MH5TH'9>&/R+U!&>C#$X$^J]*)LZV4WP]];-\CU!N[['$]T <L6VT#- <
M2_1-[,;PQCKZQ%9%8W<:8L]S8^_?OK,G#M2[>BV<E*KIK$IFC4:!Y*WQV?+$
MX7(3OU6DO-,+8D,M2!S;(!<'CJ)K5R%8M*6NF#LTBEDNP]YEX<=,_J]ML[A-
M?:;W4JTA?%&&2X^E,714*1V^/R"/X_>[",E<$%EP5XMC]NK3J_>@0-23AT4Q
MT85=#]1SG==B0^SB"*:<5T!/)>GZI:>7*'UA)R!XJKM9ZRM)LACZJ(Y\, [-
M!9[V4%&04F'EZIAS")FGF%_IU;5X="EWNT/E:N.6R10Y!JC1G%]2MI!+J=PJ
M3?^FT^GAE;&:2*:!_Z;8UW5JEWJX^UY+P"C(+\;VCEIO"!]J(P%-+"AQTC4:
MVWL!D/NU&'K,)E#_?>QW9,\C";>LFY"@'%32V\9_96;+&LO:</0$^-L%0BQ=
M$...>0YN<4H2DMD:3CYP<J 31MR""+'3A*BQP%8'8Q&"-R3P&WZ,@YPI)2#9
M&1I'6-,LPU#(UT,*[F6J5UZG.VF=A!45_53"V^+L)E$BT;>'/8ZGI#:>U;/#
M1L2QM3#90"ZL;^S6]7$EH2%"TJ5S*X9JN#"M1$+!YS@=A<SK&SN*A%QQ34'@
M*)J\[2RN1H /WJPLCJJ&\?#9;CP\VH\:4)D.TXGY3^KB01<T(20$<TH:=DAI
MYW:W]G=0-?)OG2)MJB(+N Q6/<WB:_V>U#6G?J0IG$U=''V7?P_O; 8O.I(S
M_1[1)^B3'>W'.SM'WILLO$6)3DB=YL%K;&_!W@[=BY 4?I?##3TU=+OLAAT-
M#\<BR&2":/%6UG3G\"C>&^X^^$GZ"_K:M-PO;#*/2.1>0;!=<9;:[]N]K6T]
M9)L*>E!!W]F@8M?C69Y<,?S!37#+566@D19UT>[!;GRP-U1=)&T2V!>+'9KD
MX]#\CXB?"NVS<!XN55"[VX&"DF:WU8J<M9%>BNA]X/OVNZYO;B%'*'EVO/0R
MQ1]>5XLB\L3R.WY9?,<5#^<O@^5B#&8<4P7*ZF"X+NM\4*C[O#WJNNA, EW]
M]:(G69V7[6 '5W@<]K/HE%WZ<YFK'0=T2,(X)9246?3LV78,&N\NCP(]M;L]
ME7BEU[&_M;V_TDA2TM.9RI5OL,)([M]O)-=F\\[+Z+B;=$T;#2WU+Z(<B>\L
M8S!JC:.[J,Q!7'#DB6 Y2KS%$^1NQ9[T)G*@[E_JJIO%T<N7)]%WN(82!I]9
M8O 7TENEC?BT\R^DL_42CM3U+=*<O=QZN76R%7V7_7WT]R1Z<?E[](*#JN^#
MZU[ R00/9H1$,;TKXX5QR,/$4/QL<\V+C\+5/[GB";^A? ;1N6,,0"6Q[(98
M+H3_Q'ZE)OIVQ\F!384ON:G[T6W B_X=B1_H2NMR?4\J8]==EH8"@D@7RM =
M:,45S<^DBK!5,Y1:\#2"^ F_2G&WL#5SE#7<VNDSZ=K'XV;-56^I"[!LW?H<
MO &-"J4+E4*ZMK^V4T1PU1:>BX97$*6P8Z(/?[#MQ8M5N9KTG-[[A1G5;%..
M8J_V1$MYFS3]M=S>VEUX&B;L]BT%AJ_Z3&[I%L1NV0V&6P?1:HMQ7""MS >M
MVW9OUS]DW0[\=5M8F84IH%F=W&J1:>FA@;.BA2'NM]=0G8B^</D-./@Y@; 7
MW\>E7U;<<XDLKKHC]3';AF"]J5T)/OBUF25SU]KN]E-:U153Q'R1=^ZL#-B$
MMS*%X4X GO=2<N<XWB$SXZ0KVGMQ*%[RB?H!I)0DSTKY*HP\4C[[Y5S26(VA
M+E@:7\29X(J</^4,D-[GA4<GZ@&$%W'W JU_TR@HHD],0( @FM$V'N?4+"&3
M'$L466H;\>:NW> T3+F2O'Y#*@()35JA%P?59#).M".+)(7ZVJM,F+%$<3=@
M=;%2GFFG\!CY,A>_!N*&20+J1N:WGN+D3907GUES<2FP42.PH#MW<&U&,GP4
MZ4=5')7*I#:EN>6F"!D.FS&61'NZJ!%#NA,6\I"KBGM_M4-QBKE)#@:X_(,,
M$E5=5[<$6KOC/,1^#I99 PFT9.??.1P7^V9AJI-$W&5N^9[^SS$;RU.+8+.2
MO.RG2E'98WW!\<L4^3L\1)BY];,XB)JJPZQRQG-N</=='MH'SX$/E<,"4Z$1
M^UR,=Q7)$FN[]CTG'==N7!4%+>@/*SW,&3YP.1D49MS^L'L >T=!<TX)T1\&
MPZ,OYG*2(W7P!4FC?@S69KB'?&+?_.1FP[AMY1"@3MP<J1KVHQSX?W(L_A8N
MYI='22Z1RA"T4)<4S6H&G<V.??R.R1&R(9MFIA=B1HNEDOH28BO1S<4 LN[(
MYE'$\(#([<?-QGWTQO5*>V0W"F$'9P,G0\[0G!95P_"8-KT."V/3*C.%(";Y
M"/+HR#6QB?>X VIN>E5#] 3!A"*MBYK[., )C<$>:K^@. '1N5W:I=5/VRR(
MS+@^9'9C2#Z9=/N> BL9M_Y^B3G$V!$K)XU3I!R(.NCDLH*[+E?JH0$I:28Y
M1YYT!L%/+F/6QY5C9"'E=UT5&1';E@(I8QY7Y&/6[F.%0H&U*@SB3 4HI+,!
M/%6Z,62?3&(PZ/)@OGV#1%)#&V9]?A_XJ+.T;<Q9,QS>1DPWIA=5"?L#1QHW
MPM+D<0?''BZ=4(Z>&JI\ )4@4T854EQAM"K@VR9(SOVL'S_7CS67MC&UGUNT
M<!M4"?C45Q+NJ[G4E@:>8JU=B)SDXF]X<R.%%YIS%)HH'QDR.CT:4,&R]>S\
M(\B+A^-.\B4X4W@;1*% _ @WHS$F*V'7K:9ZR(\)$(!VH988Z^46P3/V#']5
M(+%<RN*HZS!J#0!4?@ALO:B102;UOHW1N6(XQ:R@=*AT7 4SNQW&DCPO%T-3
M\/PQ."<F$>,YO=0,97HH9S<N^!I,'V4&L0>,4UQ25[H3/KV\V316_"J\.(\B
MB7O]/U;YXFS?@EYEO,K=HO8*A+/(W%=9<_B&2U?:/ %F>B/NP:+)LG6I_/86
M+D;#06R+$*?<M#_L/C 85T(2-X4V]E T(CD(]$=_0WR*BEJ%D)H2>TUJXT6[
MZW&('P@PI.D]7K<(#UZB4I?TS7HT_)BKM-.4<;"AQ_&2@-=,71Y6*AI'8Z3X
MJ'&.XOXAR#:?*&D9Q9'UVW%"7^8(DGV2_UX2_ ZI6H^M6Z.-NG>''/E6;P/P
M8MS *.S<B$@4-]IFMQ<2E\&1]!JL"<<MJ4]F 0V3G[[&K6 5)MY5EF<U!<'J
M\?U'6=6!,>8>Y@?(3%B6(U*P75=^590Y_,).*A>97+KROL"_07JDL[-8*,(6
M&<(V6#,?:[:[P9JMQ[-LL&8DD'^2O\^I5F_2(?PSK?.1MH83<3]U41,*5F-?
MUKJ?2L-)QZ978L.FPXH[T&'!'H'5_%U[C/W2D]2;^F6FA =(VA*H/TN8EU1"
MOUB:.)?D+YN%.1 >;S5[E.QG,S]<O3"V 4F*"Z'P=J0-E-9J%@,$Y_NSE=4(
M* S,;.G0E,27QX@7.S70LZF^S]Y)8SZ^"ZV!!BYAQ.+Q11!1Q;^Q\+L0O,0?
M$;E\J!</00=X/DBF/BGF<2]T\6*6)?&*=%,MZ5]RK6H^#4>9+5!Q*#F(E&I'
M_L+?[3TLV:D[?F"+P9SWJD0Z5!(\L($PG1CN\6]()'T\!\HG!8-,0*B_)(&N
MZ]QD?4\1,QU50?=:[C;R"N0M TFH1"P$K1I,<?68;L=S'2T'I$137AC%+9/+
M?"1I)1/]2&E@%CAOJM:4FOXDN+3E+U!\J="XD\+U/,SUT&(/[PN3(![>AG(A
MP=QZS^>FE8<5<YZX!+82U!-73=C@H^H)50=!!FC<'/=.@S&8XN,L1-($*ZVK
M<<YI44J.K,?2?M!"T@IA,.6;S7#!9DFC?>W2<J4-5V8QC%G6@O7M@0<.]".M
MYNY0"W_+0-00%OA!\,:$BF;=M&-*ELR@KF\9O+A[U(.[W8^%C G,G,C$MCLO
MOMU[_147'VX=N:^M?J/M1R!,9]HRAYO+Z:FEC9GVG/#@:#6LMF?:-F]+RRRU
M+6N- FUB/J,SR&P;C$?DXO'"G!EOKE0TRV<TI8Q+6E5K5,I[S%$RNB9>J17$
MANMU\?%B&3VB9M[I(B/>1:H,KWX_NY)N8 R#ZS3)T\7'Q=7T5 L7;*;P(8UY
M?GGZW'%Z^\6<)4S>7'>F@28T"=4F*>3N<WX[4(RE9'KIINPL^Z7*QO?K6(5B
M,<&RU59I2D8Y AN=OBOF^IWW>'RII4_MU(=UYEJ>+TJ]]W2OF,4DO<:Y:'1_
MN9=,0"../=1I2$[-![6@N3#R&^8'D-GMI(E(?;.<)!QD!&OALMF^7]V'A5D7
MLI1^%C=$,RCWWM5-+#M*/KBLU9_/^ZZ'*GFHR==0AFH1S+@@B4YX ?!)<8[J
M MV<&V_#CH*P-/,<VNR#!M&R;4NB,;R9Y1!T"'[M.'8]2Q@IN>])#"GD;2+4
M.19UIY++[U&V]2F8/,H[KR2QZ,S'RSWY6,E,. Y8C[V_<Z=_]7=J84>)6X)F
M%0F7"04(9<MX:0I1PJT2:(/Q1S/Y7DYOU]&I(0-$"4[V)=K;RI\#S(EFH73:
MV_T;_M3[V15!^^V08M[=G/#..'ZHSD==RQ *R_#Y.KF1\,I^%8G)1EU>J#T-
MO^N_SNY1^ 0H8[;[C1VGNU[@8.<3O4#\T6^PO[OT#1Z#SP.F3 ::HUIA2T0"
MY]P*2\'A%='M7DB293K-6^6%]_LNP>SF93[MIE[[0S"6ER ;;!CTY[Y-@B>R
M;A?=O6-J$J^<9S]G/8=\(V[6H*\>W4-S8@P)%0W3)G".C'PVYBMQ>!&=E6K!
ME^2=]+D>0XK));PRS(I/DN$*S]Z8;LUF<8 R0I_3D3@NJ;!.D:]T8=:W[!3%
MD$M'>7N/89=#9]3[@\#5G3,RS10UOO72P,,B;X)20^%%U?DC(A\[L#3VW0JE
MT:DH;FJY\1"S"8@A2)2U1][::P-Y9\R,W1EN>4.RI JY<U,N@;MF%?*W?:I2
M<EN3*;;O6GU0C0U-)^!I$5VK4P_]MHE'<7P7_0EP'1EFE]WE6HAP4"A =*52
MF^2A='2&ZD6WP1\^IIN*HLQZSRK%A!GT' F7BU?<I!]E108]V]BV)X9<X>Q#
M^[1\;?7Q WY>?E4[KTUH2@<T*,4X#K1*&EP#4E4F1$P9JDC*':*-08,BQIT*
MCA9/^Y\I916"7?W8:C%IS/0?UG7GGRQC#G3*:9%4'$\,D9S>:?BMNZ?%^@JW
MPI!7SLDBR_5WEX)=J35C76+Q5G+BD\7_@Z5F=EI14%*T57=N9/@K;CDUQ/.(
M;%'6IMP,9Y.*:D<P1;STF72MB/2*7P9CB#II6G&_1+YS?(R>'1%P=MZVS#A=
MDO'+4^/(Q5<ZLLMSSB$W<R2\WZ+6N/;R&'2*[[^Z^,/%HTQ6S:=RH)QDWIEL
MX.TC,%RS03?#9KHR\&9]_X IP+U]QV2 =0W(GJ.]_R7''BP&H)@ZM4QRR,6&
MGHK:)>%[\[OP)7\3:^!%J#^N=;3U7/2E=H0J"[5MJ2:2NG8^ *4VQ;'K@>>"
M3@_N.$WXA'N.:DDN=AZWNS?6EQ)^#JG$X$9:G T<P(<#[&W@ .OQ+!LX  ED
MWS*[<&E$%AFU'3%M-%I(8\X#/=T+?K8-3 D]Z]LUB0RZIJ/KM\D[ FB1NNW5
M[H6Z,S#EDICEYB*YZX"L=9[ZF>3&0NQ/RQ?H ,&3[1WM_,@@K[>_5?)O5OZ@
M0KG_%%M@LZRGSNEF-DNJC1AAC,@5Y\"F4X3";^M?@8N'G/4%[V9<%7DEV4N9
M]8C04W;Z>#B#W[GH14*29-;AD0H'9SY/JCX26EQI[?GSV-\ZZKI+\>65L+EL
M;!3H?%AQ_;:B7ZM;'.FMX *:E1=->( %SZ\;)PCX<\Z+="&0PUT' ^!M'B[8
M-'21,#HE?YH<29M*8AIWAJR+&*P+J^_#&9!3G!222J18E1:(,\YUL)ZNB((U
M''\]NKQ$7>Y7*KA[FSN5V?&0E&@SQ12U<\+;Z[S.!NBTS8-BC 8J@DO$.=/X
M+QJ80O5_EPNO'0LKA</D3^)?67"6737V+DGMFT5.++T85I=X0A00;Z&2DC%Q
MF$]Q5&C$(2B$5G)9U%<G&5<_1.@Y*E*H8*&F1OT^070<X,\EE'89W2\Y^NZQ
M$%D&(TPD+%DFK59]P4T[[)3@3GRA\U5O'+-2A'O2B1U\H7CA*G)6)$[4@@N*
MGN9*](P%/KP]:Y,*@A:-Z#2<)IDB/.SB&0()RP1_CS%A!8%6(1U9=G0YXMCP
ML6^KNLAB2;CFS/J\9 [*JP3'1N1)'%TE^:VT4IQ<YV5"X;4SR/9\L_;$N:=X
MHC3:YA6#8-!,)?JS/Z"Z;V.A0)P!E9]9)9[IG" B2IO(^:,+D4&UQQ@>2ZL]
M(SB !I$>!;$C4,"BB#6)U!O3UW3.W-7!)%1]LH:&=O+>(PN8BS(]Y>0QP>0!
M9%"3&:(TO+MA:@(%;<"=)#2?GC68KWT6<GNE-L2@WM)Y-DT*XM,1B3:<)-"X
MR=1P[E:RS+TD@&HE71PA%J%]M"\%THTX;4GBN7*2;)L;+T.@RZ67H!R-&%M9
M&Q]Y+O,ASL9]H"5W"08FXBZ&?0:&>55FJ9.Y!U&MOOI9%F<H2&$UZ*+2;61W
MRN+,$!9H"#34BE6A"1*"3?!9S9M6DM%XTI&K+O:'-='P*#8;3*D^R<ME&=55
M]J0W&NCV_NH@^;8KRHO1N$!8/NL%OJ+^A6%_C.F\Q@9-$G6:,A0PL7"96]L+
M;+%<)B$3,U+LE;HY=^7JE7AIS%C:1PN,-[RW( VT30S/1.NK8<N/!KME;M%9
MI$*70I2\BB_W/UL=);8]%\8Z4>6>ZN#D(CK_ZD&Y;#<):FA2^-!0#Q3XMSI"
MBO*934OXGLP#+P0^A]=S1<E?60+/=_&Z*P74@2A(N,,-I>WDF0/^Z@"(:==/
MIXDXS%LOD>(MEQN'IC_7^"B6 *EJ [ &3C8CZRI-H=1)2)-C,.SRLE/"5JQ/
MC9HJN74=>(Y=C$&,#FI":6AZZ65(;*\=$0\F?^2&GP6X5-L#Z0TED)%0J=+%
M5YCE,:U'\D6N07W# :=J?F=XY+=.M&+/FJ!!'J\\B5EE>!ZX-0P,CUDGC,9]
MM1-9VINN0!="N0L"K,TR)4_*E-#).0TXY\T0VRUL:EPZY<K85G3I1?GN^XI,
MK',A)%2?;J4_@/$'*)^9YQ)*#IS4E'_8Y:I+1B0RPIBD;M7FDJI_1V =SE)T
M#0:KN04ZVU$86]$+QHSA]V)])>ZE]@<^.90T:#D,Y"N"2'E+T<>3*T>#*T"P
MZ-@UZ8&[1F8)NKN'+O<1+P)E#H O3IG?/:DH;+7U:@#8P5>P.\A.34,H2]_[
M4V5I8ZPQ:)@UB=8?T$/N8.6>S;>Y^+S,8-]J;;SUNH6YL"A)*F'S\$)JLDRI
MJ+K1G#Q2+1BC8X+I2?Q.URP#WGOI)9Q0LO(<M4$%@8_*(]@!G24@XNYQ$FJL
MQ=/6HJQK%:_9PB?C,7%N%J" +.D%2W3C.07<O8AU0]!6$6%L:KV*'C Y5K@S
M>DM.2,F-)5F&_VGY.CA*\(:JT@]HE$'FL]WYPS0%44$[/2/YDA-$=ANS?OXL
M4QF]BT,]:QH_P^X/<HY8YT+6(78*E-6X+QE@"*LVL9."E]PT&@NE+\81L=#_
M65\LK]-NVE!.#VZD Y+#D<B$3O#=">O)4FARQX^$5V<LWK6W;?KX"NJ[O08W
M@#C#$ITW5'AFQE?UCT/J=8K.8N3M-U5[IA&[_G,78SO/M ] HE2@)BV2$?(^
M,UVF0D\J'WOC#,7BK;P8V+>C>'>;(K17L;\G@8730I,W26QH&@[B.:J:LB+Q
M@VR1BZ+$OR&%L=0VDGHM@X3EN*:%Q_@9]&B-J!X9GS4IJA&AS758M8UC/%\_
M1EPV$]B9PFL+ Y<;8T\D6.5?-'<)WI,L>^YORI[K\2Q/I^SY"893YE/IC68L
M8!";NKXS3?5)%:WQ\FG2QL8M*Y'-.VHG:.CE3RIT6/"*KK?6=N NNOYKPI;8
M(Q"7/@\I!S7DY\KKLR6S>+0DJV::N4>PN$WUK>J9:?QAXI(6[\-CXH5+5[;D
MJE;+N\JU@=CE>AY=5Y*AQ90)8>0<4',)8[FD]5CW)SQ;D@TGD;DQP1 _ EM;
M[5-13]ZNB>VZUAJNW_ZI!7<WZJS?A!6FDS:LD)^,B$W.;V]R*H]*>:\3$DQ)
MB7A73K!528K-IETI980-^>(GVQA!_Q)^ 0=H*RYQQL<S]X;/2/CM"!#!^2S!
M_!AC$\0"5C')=,/T_$DI50- I;"2<B6"MZ/>K/<G7.^/F$ML!]-N]N$3RKU=
M<]L=S7M!O"-$]:"Y5!EO'70*LI-#:66MT_@Q[V:G/K456850B3WOWAM2;B>8
MZ_;$KN-.:Y\C.QXC+$=B %%J*T"&;6/4\<%=Z67J0^S=138[_@D=.CF0%16
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
MWA65*E&2.3BI5'1C)6%T#.!5.[K-ST^WN0*5L5U-G#C6:<+DTH!+,EXV1AE
M;"%/X)] 22XI6K.0QJBHK8U#H(,F<65.O4\V( _%C(F\$. 6P#A;L,BOIJ;7
M DY7%P1F3U9F*F8I%0]Q(5-5][\SG"*)OHK1=@:)3/)FC%DG-^E!=&#80G^F
M0/5A"9.[0,1%+($%4W,%;8!P(8F!,Z@:Q]%X7967976=22._4$CGK6JJEAW(
M _"6YP2Q=T0+Q.#5QA3Y:+ ]L)Q$E68FIZ!U@TNPMM2S5LFO&ZSP"W@>GX,
M6W_:-12@U]A^96+[%UF3&X0_<AD.G&]&1!=YU$I6>G%<H>@0=L9JB$R)\P*,
M]Z9.:,-XL/AB+CU\#8 OPN/UN1\]XV2P(T(/F*4RF:Q5LFH-9T<(]<VXK)_
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
M3<;W\]D5^&=QSD/2[L(]4(3L5'3#.&;"D9< \%I5'>!S),QB0-F;8509RJ
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
M=T3/H]YCH.8DVGV1P;VE,.K__E^CT^,O2(;SS3_XSK@9RT)0>MGX0S>'_R"
MF;DP+FLZZJB34I!O)-K ACM^<OA#*KRI-W"Z0=>!5_)W&OA>*Y67D:U*^H&X
M7;PU!VM%5#E:#<'&& <[V%[3(G"F(TLNT5_QU>7Q: 9>T,"EI=I*4FMY/<XF
M.2QRS[OE,DP4!#V+$LF+)XZ+5UD+V")3)387"U+-L^0Y%[QPHA/-/2PEU0^+
M;TBBNKSR=;[&"U%3='?,/R=7P28(NH2ZJ=J").[$= T* >[ 9;775GOBUP:U
MAE>%+3NQG> N</GN'O=\]"$>,A P&H-&E9P\M>C0""]=05SW<*6PH<%-57_@
MQU-A=H,M>>N\K:B)8C8&X[J1  9XN+6$!HCJM/25\->54*8R<3%')U(R^X7G
M^8))I,EAQ-&S4SWMO&\7^4-B^@V72Z&MTW;D/E!:OF!KDZYDC<8I&!-H"I(H
MDOM++];@!Z_795W=M%?2#W@+K"3TKB([,PZQ)%D^8U.;>0[" I/@P06=T(I$
MT;K((3 MK$/8"(47MS2BX\1$DDEX0ITW'Z3!P0S?[32\D.6U!E:B]IY\&NA
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
M]"34MVQ!$.15R8U1R,+J"$#"WJ.C.,(%YOJ=IW$'#;"@5:"($'SVLJYN;%<
M!,H2=(8J@XD*MBJ22=Z,\WG!L=0<E,A%5J ;1(C:P  CD ST+'U[D1JSY+6$
MG]"=WL.H+!,-M!3#I>$Q&)/8>6E,[54:PEF240"OB>;'<6W/F8,CY6TG"GGO
M5 4GVF&M;^Y@P%)HS(GS+*GSY@-'N6D).!RZX'>T74UNIBX<6Y.S;*$AX:8;
M@VQIIEU!IY1<6HF@RZ2C' 0[CDQ7S_[WQ[:7DL?DQ_@J=]?.CB<?4\26:])R
M7F*9&_KMTN)"ODBL$S?,:%'G%**&KW8E7A@LFN'C7L LD$2?OD.5+=QKIN6,
M7.&4- &[M^"V1HO G6[Z 4<Z47;"TMF'< ID *9HZKO@<N!:PCJ&$!7Z"9[+
M7B <->%UBD(RSETQ\:O+IQW/IC\H-7;,@/-;]%9I"R[R,Y,?H1S'[UA-1.$9
MR7/ +PK]V40,:#OL3ERX@LZ0PE?Z+-BX-'2B,.QH0\9E@RD(BC/.:ZPYY)/@
M?=)^'R<XP=@XQ!SN-%%PU-0'2M0I2N%VH%F6>+V<&@J!A@*AQ$D>3BIZE?:Z
M8#!0"AAG&FV)9K6"1DOH0ZZRLG2%O^=TF[()G"8.J;J/;@P^VT1"9O PS/+@
M,5.$G?<I*YF?Z]]&\391W1QRHPA\U P6X%*#\5:!86>U5AI$X9/,"_S.4*+S
MLI+>2&-8\<TXS?<T:)9JS39B$NL1165RUEUVH A'O@@&96O)H#_J"S9<1D<A
MWZ5?*XY&[]-@=2[HA(J9@$+'D: \IEKS0NJ> *+?'MEN)BQ:I3(2@SIXW."(
M,^K2,.-4@QW)L.IAN2PZ&E9M/K!^8(?A^1IY-^3_M2/TZT1N+BBB"JZ:5)).
MH_KJ7L$/I26,@=?/_G "I>&@5I\LQ50O4P"LP[@PIEJP]1/<2U):;-^XX0>$
M=$^(F0\<@=O':+1E)%K7/':IJ\]6R@*+M1PEOPA0]A<%0V_$E&ZSNJ,YB Y6
MI', ?P> MTV,W3+_N/;W-C!['R<]2D=/CV[#C*\&09\<!A T&;;48)$*I>\
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
M@P:(? 3U7+)[Z4JSBYB,M%"\M[SIYRMZW (N' K;F=HN?W)HV[$[#/;I9(-
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
MNKFB2AZ^.)SDW=7#WD&D/SQ#QIT/03J(U*;YVZQ[?# +_(0/1332,.%3U%B
MH-(1UR;L4EY.AP5/21&M)/*%)>L C]2;IN/DY3F-[AYDV8&I#DQU8.HW8*HP
MW6+!WJ6()>L9^.C1_O_9Z/RMH$Q M@'!A,.OAT\^\\WXE74'MV@'E?[X[)AM
MFIY'54(/>_FJW/G"L.+GA86J7AC2NY_[OL-\?QR0]RS=Z7#?BFJ;:Z%2-Q2
M?QD(PNC91NM.I#J8MQ)GNQW<Z^#>W18R)BB^JA4G?3U3^C24%0+PP7H) 7*]
M=, +@X>O#*]S!;9W>C ?OHNB7V5HB)JI7C5YH2;:F.(11:&)KEX87&PI$ND
MX\QVX1IW"#9>;:"XNACI-R0.@D<=B_,&5W-)$.])OZ((".<D\W;T/$L;H':K
M!T/ON89Y/[RRO$%J>9YJ)RZ=N,B1H3T0E.<E+4O8D?\6M+;O5H_-^E;$C*VE
M5;X5OZ2H.>S7.*3A/E$U6U+X<U&:![J48/6GPA<^AC</L7Y],A8%040EEK_<
M=;_BJ&;1*9@_JB0EUK$3+4DF?-2H :5%_#SC82*C)D3IH5$*:U06M%,%D<WJ
MM2+ BP0L%Z7-1^=\G*LBU]@F>3NM;C\612A$8:+CY"<7U1]4<=(B^4<]5"O5
M+$OBJ- S451 4FWC4_V]@TWU1+VST.[I.&8_TXRI0NNJKHT<,R37&HNR&K6T
MQJO9WHF+6%>Z>C%, I:(@*9C99!:0146BH(42&T=\N2G^*IX=YJ=B;B4HI+*
M"1L?\WQ=^\[+LIE1H[]EY*\J7ZF"ZF"1(F6VFH0YG^OA6ZJ2].7:D%_$9003
M*U(]L5UR3(OJ,:JPQ*MJ:<E:\?#N<S&+8IA%3<[7XCM6]9T4B]_"$B$8;H/+
M!VLYY+/S5'6D&GOU_KQ6;P9D* -9P )#4ZQ\,LVP6E6LB@R-OWY+P8REGBF*
M"VG]\8<TG.;%GV3EDJ)^1V,FI8M2CCT.11DYI&J;B/D08OF76:U7^1@32QF6
M7R;R0Q0W&W8!Q;4:LDB62/E=;WL-D<#724)U+.T"[:J^4L[Q.;L2Z^F6'Y"!
MY,HA4HX%O;:^:E_#:HEB0< WLRF,PC"1]4H$87O5Q=JD%G?"A[)T* OP!;"@
MXZ2L,#4:);D0NO7%E<U74#F;Z_:,<M;OH9R==?V1E;.XX3;ZN:;?*F41LZ2H
M<UUQ4=37A7C8J!Z6C/^W4+GRHT[QW*PJK+^R(1SCA@PN23H:GZN)>UT0ERGN
M]U3NA11;UZ6X-BR/+L:EDFSL- MV@+)@X$*=7HT6_B9EY>*:5H>VPN515W^H
MKJXLMZL_U(ZV=/6';K#8GK+LD/;('[_C<-R&V/<IAFE5JC,U 5IP-7<@97&F
M&7PMZSC-069E,B7F8J;QY$+401SCQI@.DZ)RXODY[&V%<2&VZ%J%O<H"Q!=&
M6#,Q/9>%46.-$]P].5;S*W:Q.76I5WNDS5DL+"V.FP!Q43H1APB&%49S(@UQ
MK' L!^^V$]".T;R/*^O61T3M7R:_ZTJ)[JXXP\*2>&M1%DUJGZ+:FK0IZN"R
M#EK5BA+KZ"]:V4\2'-.F688@OHQ0DD"Z>!:;4I9E$Y_]G ',GG#M\Y"%LJRQ
MT )PWS_3,9?W]&7Y[8([:]87!(9$]7WH1N/[-P2ME@:Z5W_Z^I/UO''3<GN>
M;VK_ *+&HFS"!/VNR+G6M8,3+@P7:17DI15U@97HTSC.H6DP5>-ZW,2(12"8
MZ)[+)_6H"<F0(>+[2[!>!%"4@[17VBEY=5%,I:V7!=MD/RVC_$-S!->U6OF]
MYJH0Q65/6%2ON:I*I\M/X?J2Y5)ERY5I6JVBW_;B+[/6T.KN>1UKA\JY;2'#
MV9%LKOMBS8BZO\5FB+5XCX\S?BSJ],::T;,<J^=0 ZP\V"!1FD:REO DG\!X
MH; +#Q[39*M SMA/T-#'M54+<BQ)Y?ZRUBT="R?+MZUK6U-!17<K_=#3QNFB
M+HC577PONG$YS96;&\? -/T>->BR1L!Q[S\"-PK_S"@HI8EOA^8N4C)"8S04
MC/3^8A^%@Z+6S?E?+13!@JF1Q875-H&2*@:KV#NDHH.O3L]% <UZ*V<U^ZS.
MV!Z7+<)9TDVSA]6QRS.%C),/4S&<96-NO07,+*CVB_T=UI$N=&JY+3;&7)P4
MS&X_Q>F,V.AF'.1WV2ZN^]OF/CU/\?:4ZRYI^I^$)[-79*'-Q/B!&L!BW-%=
M1Z;X2@/=SDDWQK3BXM/7 IW7M=TQ-.@8FJ09U]Z.C]0EJR@O*_>NFL<PU4)1
MEQMNGM?%GJI]+MW$J'D00M6VLYDTZ!58R/>;,W6Z!8-7>4DK)7Y>LG^Q$7I7
MZTNUS%R<,Y;0F8@ICZY"2[A-($OJI/3_P@B7YYC5VP3P2L=CY=D52N]&CE55
M#+>A8Z_!SK+8?6-YHC4&BB\-A6.W ')EIQ=OA_I]T95^!W15<_??'5TET7^O
MW<*YYJS=:DD7Q7Q%V,:?6.+70@6E#;@P*Z*U4KE F0DON'!M*6FXUC4LD#W.
MDY(?9G*1BIKD=6,1-^=C6?19PI%K;RE>4LK9M;4&&P2^FPAU43M;J+1UL2C%
MDI9HPZJ?PTG!4@H"12J?!CG_WRF\:7A56E21>K"&2FZRA!K-RFHWW-RPVC'C
MNO9^WB9Y?8A 12%\B<3!RWG&?R:P!Q0!\7'9GKF["'85]J)) FJD[&NA@3>Q
MPOGX2L20NV_S:M/&P 9XA1)T^-!4= C/?Z"/0F4G8H' Q/%+/'X$10TZ:@5V
M(?1OW!K:+#(VQ+ (12[@).C-F?"2VFXU"VX7-F"NO<WP9MAA;ML.O5I=TF$0
M5^L(_: 9'G9$"TJTOU=@9?^$8^ ($[O?[[Z,6U09<E(<35[5^@5K2>R4N,Q,
M_>WFW$2.\N0ZS9+C.KW+NGC,>*OM7D=5>;&EP]?4F3GT0L1U%)NQ9(Z9I.C%
M@P?_\NB,Z\(P%_DN>J6':Z%[8?9E5/_MN^;/\FU&>@6$:[Z*+_77' VEE#-J
MY<:6 [-?6G)R8S(\%=8%^IO#>I.>288D9B+X#)6CC'B26\VU#XF%.CG)N(2>
M8//8-;@#:C4=_L0U(E8F@CC1D9OA_GQ,O[B?,W!>SO1"3*]ME. -EQ!\]")+
MA>L"L%J1WU8^?<W"+P("Q*[,0H"<\CQ<"H4<I9E/EEO>199,.,$/P6OGOT#I
MDQAC'+!'.+PB(@9NX)<("^#^D^+41+PCD=/44#K[$_B/2O.*M=WJ%*:0F,D%
M'_[D&@#JR4E^H\&P A+R 3H%F@JM"#PX4E$[.9=N8\TKM.06#%>A^<I% \.W
M#6.E>;WBM@\2; "XKPTCSN'^]/Q\*'Y'FV.+35BO>)U8)TFN;8S!(!F"0L*#
MF"X.HQ&'X2V.P[B#\>*O=<$;7?!&:ZS3W3@F"CD]YPB.&\<@1VC[8GM?-\B[
MZ)3?M_.[]*&-4X1<A>QH8@TUG!MU2U&KCKVS1:CD=ON'9ZZ8\RL164\O5[ID
MA"\ WQ<[!.< ZT/A:QA'+W80,*H*D'T7 'A;EX%(8<K*=(>X-&KRRJB1IRYH
M,PEK6IS+E_)6'(F@4T4F':"W$Z[S\TGEZ_HZ3DJ#,]=>*1/JZ_K^NO9Q8^.S
MLH]>@TT+EFXFJC4P/##61NR,:^6LRA2-/)^.5(D'<1N+8["#E06.%A6/E,M9
MV+4J%PL?;83OB_C")$>_P3139T>B2WP<BAL*@WS>2]'3E;.A:I)RQ.9%=^<-
MX[JV S]F^,<HP<,G+MQH(U9$8A4/*V^Y^'J9T+#H>W'YLHEV.HV.E36?U?Y<
MC9[P5$XG, *_,*"CV#4:LZFT2*]ZFQR(ZBW%U 1\F/"?N$W_E'Z749I#(\&"
M3&)X+7PY&9UCGH+R$,U=6^C(P/ I6%VPK."5Z<6;A9*C<H )YHN_L9PBB3P!
MZV,\>4,,[\E$22Q@Y^W3:9VWC;$QZ+J-8Z&2\83K&:9%>#RZT5W6Z.+Q\(5T
MA@OR]'0:3.)I*4XY^J$GTTQ5HD%5(__<S<"R9@ 53)(5?LYABM=%_(W4^=U(
M+VVD,7&Q1 FU_+UNB)>G3JI=6.;R%95A<#?NAGE9PRQB1.<F\-8,I]N8_MW(
MWW'D13G(>1DFM_3)V"OED]F3V.O%FN(US-E^4WA0FE=%6(."SBIB5UZ3(=Z"
M$D-R 9PDY^<BV@I^.8%_1*!#" KFF%=A%97EA&I=O:" ANN:6B=: K8@"(@X
M76>3NB4H+=,\B=3YK @2NSP7-F]:Q!RC]<@O%=U >7Z;P9BH&-NBY2+I7$W.
MK[*?Q2?/TV0L+5$87NWBA(NO%>^1M\" B%CX<BQ4G%HXS6$:,5M>&<[E'])@
M@O&3,G4]'6KIS^I=JE%;"=8X"Z8 *W(5%56O'(O?F$IS<9Q.*DM]HDW/5;@P
M6-%,'B?)8*T;NRMS[&^8OF) Q#C@#\=I&BE[%9^KF%B*7E8. WE&+QHR"9 )
M"Q:16&WB\?J9,MXIDB5Q?8FF%D']<]:*)C<MZ.X)#!; +[3=Y341 H8O.$E@
M""ZXI,90#1%]%0NXQCU0L G("T513+FN,8HZ$>E+TOZ_J(]@]0[U>IB+(@:I
MC,@MXA_4</>*?,X&O<8YR&H:X<(?(FW1Y 2YBL8R1$2,192*R99]8>.KBK@H
MD^?KPS+(2"VQDARASH&CY@?#QZN%43!P%-%9Z%7*T)@CDZMS7KM:!#&J9=]<
MV,(74E_(ZET:QA\E<5)YP(J&K>-O&8<YX;WZD[/MP8XS+9?>.8YC)8(61)1S
M*1;2'X9?E-A1$9[ ]R.>AR!.&*F#/I5U;5_,LT"3PCK*52KJ,<KB6(TFFTY.
MTJP*66N^%K\GE!JLPR0OOPU:1ZYGH2E+1]4*1(1LH%%>1+17.3QB.BJ'6X(D
M)3SG8^7/%-$BAED&@GQ63^!X?.3I<<;.8<%HV[4HDR<.)[DEOO)6"E]M%*0N
M55A?^U<<*B!0 Q&?RTFC K*EUUKYF@-,;)7,,D@>(Q6M8LN1)%Q-]5;^*F03
M=3-'Q;/(%R\RO@11#"Y6U*?33*:L!=,\03HY&9-^.>$BD;.(_U,AT 4E3?G1
M&9:R^3NRBE.$E2O?*^^O7E+N<S!!O.%YJ"O?,G:Z<BQ#=U4F?+$5%\.(PR7V
M[HG,YQ!:.\E*<"9C5S/.AK [X5P(IB9)T",=YB*",<DB AIY<E7,7WWZ .'(
M+02["FI@5.0P@H:]@CW[^*08M@OT=E_5'@AE.#@"KHS+_!'E5!\B&M%&[!3U
M\E4Q!O-6CW@;=$1]%'6!&K6<#V,"0 %6@@I/3G+9&4UU!O.#%/(HPMN):*18
M IKD[9+Z:,2Q%JTZ!JAY^_'4)Y?+=RH.0HJ94Q'O]:XG!4^A"+#FERJ5 5^/
MA$6U)?T=^PZ0%/?V&7^KU,X-%^NL![8^/).T@:U$"G@U^5,1/U!Q137R"N2)
M!PBBV)4#7M!+X2$*'J*5#<,E75^\<J,M_),E:I!#41L) 4 K3%>D12'(SQ(\
M)Y)0 =-?):HLP[%KS53I?#6@<#QE""D0UBEY%/(&6Q5L*? E>&I=^\P @@KQ
M4**"8H(QJ!,,[HUC:02@ (N\@[$0LY)=B\=X<I/+]1IPCNE(^32$.<IA(HH,
M0Y43WTC^*',E,5MK"@"K/N)"=XE1JG1)-<ISO>UUQ%@=1*H#1=%D/'Z#U@NM
MV02&J[%QB$EG63F@*DU.YOXVU#[J,DO7(G95RSB-5.HUFB_XN)R<BSF#EN+1
M8:6;FY^;5?D]V"EPJ>*!KZ1PR;AD/P"1S=&%&0K2!'A.:+%:4^$7T7A40DDX
M!56G"0I@F$O<W3-<X2KZ6K51\OK=L(66HBW.A//:F3:F^@EVF=)V/N&%"1+P
MR06NW;K-7 >#BPS<&J%G,4@536AI(Z2H,D3-;S!N2K-D_FQVP<"-8&!_&<'
MOM$% W?!P"VR7!HXYL4ZB(L=_,4.0!DG\&)'0('WESL +SE6LPR(6:#DGR#B
M' Q"V(62_&36UKQN6<KL;&E[*E]]('8PS,/C-3.PC@7+DPV1K"<M/A51.541
MB?.<&3..CU[A4&Y>5OA=@YUXG(XJ,K%D',&#V95,$[PX28>\?E0AW=+H/Y3X
MOAR#PI50_[2T=Y5S.Q1NBW1<!O(Q' H<N/S>,7Q^=V@NA\:>B3%;L R%NW]>
M[8+E!C-TTW+3M,SQ1!6Z;05<"]OC9K*[5"\B;[_F<Q'LI,9LUKVW,.F^2BY'
M^K":6[@Q6.IT]F<"79D(TH3JBQ4AO3#2T3,VE%JM\ *<\)&X2SD*Q%P41Y&E
M>KQ_P(E/5^I Y%,9_OAB(84,^VR_R'V>3]+;/* 0L0%X0Q&2(J+^85%/,X5*
M"H(IY9@7WK5DA%[N(N6@/_N(X/3*B@?0HSN6PI9Q%?D@A+3)R%S4V2CJ%<BC
M'< -V"4BW%HC#HH@DFP#M9(:9:!'Y6J'YW$'PX5:4GP5ZJ$HFU.Y(I':"-H3
M)_$$'708&I"_%CVI@)+,SQ#9"]/L/,48,_0?\J&J@"';EE]K'/99,#*+U_%(
MH*<J[++VMN_H B_R2'"2TF&$WDL1CW"!40%8&BP5B"\NX)F:/5!0T]&TH(.8
M^7S&1VF#1K>!+_%$2!9XRE3!D[S&^C"/1J8\.VX2.F"442Q=D>+TVJD?7E<K
ML5^LQ#]Z8-U8RF(&RH/S%=@]/\T&G:MYQ2U-+:U:E#J>I7"4"8R+D8DZ89+!
M D%OL&35P8UNHL),6)9=B8,Q&0B&N4+J! KC<9 051SA]!>\3)Y;":[0*L4(
MZYM4#5)[;\4*72B;F@:HY$O:-LB_54_SJ6K<8*.G\OA8G7XAD:0*]1JR\9A'
M2E)@GA5P*H\T\6YUGH8_JH8'O Q^PV4H6HZ6R8ERU\=35&[BQ&,Z+F 7'E"+
M,C=HB]1JX017U:?$/%6!1TBP58ZW.OS=: R5D,"R465 5-0T]=14!07M3&,>
MR_(_52OPX 2)0?'[58F@GHSAD10QLN'_.TV%,F/9F6#"3G"&7R5QP2TXY*_+
MH9;A*M7GY(D'+D<Y6M7@/"/-<$M0YZX4J/M6BWYXL;"NEF_2_@WAN\)PC2I7
M*DH0)$X>+):'?P(FO%(TB>< W2Z+3%?IDQ'7:XI@6C((Q@#CT$ G\@<DLY5
M1ZB!A=$LE8NK7E LS80B4J$(*9X/\MDNX"G93#A.+69!F'6]TOR23J@DU";P
M:Y0+$C8.:@>5D+JU.%P=)C$/K\(R@J%X144X.<0J('G)ZUWR@(DP!KFE8 8R
MXE#01E59K"*F!"M>P-8&^Y2\S"1W!#8JE ,J0AL%V6+1M2%GD0S^E1"\++8V
M%J'"A8%;%E%(BN#(QEOPH/<XD[7JFKU1I*^J\G2=P5!-1+WR&2Q%A9:1^;7Q
M".Z8HG 9+H"2W+^*'(FTXV$:X 35!T$D0Z?'&'<32B)01/,RV%>RI8G4745\
M635%\;GCD.4BJNP83'T<*E5;A&G!-!E&T_-F[;;F$-:\AA*/R" 2&2& DR/#
M@D0)-'8L^UUN<@V?H^@%8(^LFB[Q3AD,+**YR[OGSEBS!-YO9LM<IW>?K9D)
M%H%>F32R!$.)MB&<&7*35+$59<9 3T;&"+]J4WS*-/!P4D7B-T1)<L2#22>#
M7:KJBW( Y!LJ(ZH(#I@%!':YK6_7LOY6'048NKY2,&"CD1OX@H$ &N<OMOLB
M>K_]"&@C%Q%=A9TC:A_D*GL*\QDJ#N2:YV*>NI";O#"G112?T)J%<E0[4^FM
MJ?AO,?:4@=I4WS\%()"#52V-6;BH7-,BJ*R(<E9!L45;09VG0U3BZFNR:D=6
MHC(%4?"[!0GS)#WF(CU%QM^*R$_14PX[4(:JKD[[4=41$:X?>4G<#KO1I/#@
MJ(*UQ28P6V0Y5]RVT KE:2II/$K7E:0BOO[I1OT%\88%-"D*F\XD+EWC$FT2
M& NH.2F\9KE,_ADF9WR8G*1I29@ZKP$!5W&MZ-\H7&/*;H7;5*BSF':!PYJ1
MK35>$AEA+A@_Q9>OI*&/#I0R;6=> ^J!OF4SA!LC0<[HLW%Z,98@JSHMUBI8
M7!Y@K(#S:K_FQ:EP<4G](OV-2O3$>I%V2"$-I04Q)V']5FNK<'+.&;V*+KNH
MO8!?G//6&PH3U8ZTBI#ZZJVPIF">YWWY-Q\L"A5/X=X,<:9B6BY/N(2B4+H(
M[U/Y PM>5R^DV*3U5Z^7>:0E?%/Q!>A32J2#\0(,2>DXF]>;,B1=)$HVX*40
MPZ9(!5<-?5G&":A 6>'/EQIAT>@(\9GU4&Z/2R]>H?W'O,A6F]=LJ?JE[L #
M1(Z!^^+OPC:0:/4G5RD#QR("ME>S$B9I936CLU!H9E'(*)-!R;7TB-LI J98
MD_91&1?-*72BBH*&L<;[A\E(!:[WQ)D\VL,L&XL4"A7T(<S?4ZXV)6A$%_=;
MTTM4[XHQMZ,M;0OA?:(%J?"'4I+J.*XG<%B6BXR=">;&Y-+9KE1XH5I%0(CT
M"@G5- \0JH@L/'7$<Y*:@R51B>$RY5UN/<H+QV^A2*5KZW^G ,AA2J]D[NX*
M0)/?%Z^\OBW*@Q:BMD3I-ZI\JM#YOPS3KA=;N_G<5WOUE^O6RHN(4!_AVI6.
MIW#^8Z_7M7^G%[@R>@54D"=D>0&<0W:.M6UQAJ?HI\2=J]E.MUX.2FU1,XW'
M#.SZ=J?JD"Y RL)Y*TZ=9.I7L?=M[VUJ^RJ7R_),N745A\8;N?"*"G-!->(
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
MPV\5[$>_;4XSDE\0"M3JH +8F&99C8E?9,[.2$112Z@A%C/WR?Q=A@QD^33
MY!M)%YE.,5,UP$*L@D"X*@%U8Z<K)NXRVQ)K@.227.M8$5E*NN:1J#,B*8<%
MD63$\S!+@OIPR22PW\]=)-D5"\YKR1!;JT6*O1SA\BA*0(AQ$)QKTXFL@Z*X
M#"JFZ!NHJ=JQ\N=+\WO,OA+J3R&,EO=BH?SFMYEXEO%B;Y"LAW*=-G>9<BU6
M#-_KVJZ@TFX\E2@20=SD<LGS-X/1FJ_[??/*O#]11PU!4)48Q[1S&9)8SY+$
MD,2L"EHLZ6=5]&*A#VI1C+LBBQZ7MJ(2;FQ.KTM"'1'G6"$ES N<J489R*SS
M(G92?%OMYS.D;6+;#['ZG,!K92N_KN^OEU4S<M11DB1AR"ZNL:ZC>9Q-B_*_
M69GB5++1[5?/XQW]2YE9BFT8)7E))B!&!_O6=G%=B)!A&6%!)1[55LFB$<Y+
MXF@U2K+KH"8%+4UYM4C8E"2*7&CA@M 2H8^JIX IIT@<(VI,-XCJ<T4+JC:!
MHNS<[5 BKBRD.)"L^@H:XJ05M_3*%ZJJ0H!GD<@Y@\>@54W.@#EI;+A7]^"O
MF60AQ *6XV,0;9GC)KO8$RFXHHL*,8JDV+'DHYADZ5"6 *S3Z*O,O :'9&U2
MYI1P54,'GQ*.HI+40=0,O^7G1 T#[&(!6E7I&)4@G*GJJ]<54IGS.U:IM?.T
MU%UZ+58<_"A*]O!2%8Y36;=5?7XU)6VW+ER*#TDM%46/ ,A*T'8(LZIDV<Z2
M_"Q?N)*+4;\%H+MQR??JTCG;'DFR@GM55'%0B7:I&HZUF\N^\4LFZYOV9+;V
M! MGB-SL7E7S48*R(A6;C7!7*>J>5#PFRNSY;1_EKJH&66"ZJC7-I._Y%I<H
M&R+H3FK%7*O*&J*B1G!5V\8;]6MF/B$J=@Z'UVCH;]F3[_5Z'VQ25P-%$BVK
M:\R@Q%TUL[KMDK+ (,1M%]F(1-X"@'H$ZBWOR0V5DHK>R+U FAV"^7XZ1OH?
M08H$QI&H0E=<9B!=947K.N^18J4N]Y7;;8@5EW']LX)UIH&_&I<5YI*?PBO(
MX,05Z&&3-]HKX[7R&TF=)65*<%+5I;?D%"H5V&V-4,DF9+XN"NI$JN8N0$)9
ME@8@V7 (6Z_0,JJVFZA>*XB/1B#4EV4MG;PPYHHN%KQ+\^8'33HN]WTVG(CJ
M9,*JNV!7=?DJ"8EO84ZS,Z[<&Q=85T@J7+6CPW=ZJ%EJC5-:9/[J$0NFIQ2!
M(%DLB@JHAE54R7.?1RTQKBO"ZY.65JSN:HY;JTP6<N,L8H.%5_U4]%@ ZSDZ
M4W?Q%)>K GK[,+ID!\861G9[#/!FDF;)G2K7M*/_\Y72EO!SG-?WHQ56L>CG
MFG7<Y)IDD;'OZ>Z2Z$N1"%6%8 6F+E>#QIGD2E<@6FGF1HDYK*4BV=%%N;Q,
ME+&4]:_%IBU*6<TPE.48LY#D)Z*"16VE<K52T_I*S7&ECN1*K;=-<NOP1MME
MN6RA#'(F>(2*387#^*0CL.\G&9*V]?![/&2Y.).0MYX+YJ.)J. 67H6%W=S1
M=M0#+&A7:KL=;6ESJ,33JLM"Y ME@35D?O)A54,1=(RL%IG+XF;_.T6?O*IY
MB2(/?QBJWX6?8N&)Y^P10M304%@.UUWWY2.J!H8JA1S?7_&U%J/<O(<A-A-5
M04O+\K_RFN%Y9_5?POH*$TL ""\JZX&*LI&-'4)ZL@N3LG#JU(WA>44V(UQ
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
M$:?%K9'AE^8ZWZ[GVHWY9.')RTW*Z+9>J]561DL"%,6(7X$.ZI3/\I3/USJ
M@!ER+(\9A/LT)M2R&/%]!AA;=ZW0TP%JN^':.[?G.6WRX"P[3*"3V24!B$YF
M'TUF*\# +5NGGAF2T-5=0ID?$-^);&+8/O4\T['=T%A[9_<<^F# T#ZOZ\H
MAOV3-)L03$0%B1%)&HMK>74&S)(PPY8:Z0T1#-1Y\.ZC:P[K^,!G9F1Y3@PF
MB6,1ZD<^8<SU" ^=P',\W[9,'_"!\>"SY\Z]T&+I7!(ZZ*1S*=)9(0& Z#RR
M3)TXNFT2JOL^"7A@$-\SX#]!3'TC!NGT'XS=.\?!O>7L,U9$220WLZ K*:D+
M9<1JYTAX;%"@9J!_><['.=\81[LX#9T2NK\2"NL0P0@LTX&Y(6%HQH1ZKDW\
MD'%B!'KL,--U="-<>^>;UP^ .P?"\Y'5)4&$3E8?058KP."Y-/8=9A'FV@;(
MJHE1&W9,],@T.?5!U]H> (96A9+^!C 4>:G06'ZS>/^I.Y];@^\$!TU;\BFT
M Y+-SP0Y2"=(_?5P&*;&86$*V7-7^LL*'6FJ]\YMO"S=W[\0>E]@-0!J,?=
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
M$L/AN._&'],T$H>J//N9A#S?3X>W9&7LU-YMU-YV'=5Y)C,\EU$2F\PBE$:
MZGRDV^<6:$/7B$T+1-_K&<Z##U.[I.OVBO+2\4HGRG](E"L$8P<!IX85$X_Y
M6.B >R2P0XPZ\YCMFEP/+1,0C-%SZ(/I7!Y=EEOA;5N9N.6/&?+!G&=I_+#L
M[A><<;%T,"/FY+.8DD[E+4_E[=31BV79NN5;G#BN%Q&J1Y1XU+*)9S&3,8>Y
MCN> RNLY_HK;;(^: ?Z"I7[IN*>3^L>2^@KH8':EQ]V88(@3H4@"#]K:(($?
M^ 9,6Q $UMH[NV=X*^Z)7@H(F@EK]&0$1TNJ(;;[':T H:T&GKOG'&,1Q\<:
MOSSGXYSG;VYQE/XLNG[K:) _4H_M68U8*SS4$NN8ZV9[C+_Y< ?01C0-)P!+
M?O)A>H[1[9W/^@_&'>2<9>')QCC:JB:@+[5A!P&7!P$/ZX8?3(MM!;Y/C( 9
MA)H  0/?HX3KGFL;9L!\"ZF]>M[#TRH[MW5[I?D1CMD[:?Y3TEP9=$88VB'S
M(F+S"*0YUF,21#!G!K<H-Z@;N%C:R^A18UG,&2VWV9;BN%X%[++/A_#'XYYV
MS,=@20Q[@G"#1:-DG.233.3;O3"ZTJ<$,VHZ/LK) "6XT9B)3@\N70^&#53C
MVF;(3)]8H>L1"I-)/->+B<D,ZCF6R2S/Q,-XVUJ68VM%/=;/6ZR7CFHZL7X"
ML:[@36"$U(T-DW#; 'CCA@8)XL@C,,?,9<QR QO@C=OS=;WU8OVH\.9A+U^5
M.U^:?PILJDDV#2?3#/W$+\PU=1>JZB7 N86<U;4IP-"LO-/G=]+G9W68%D:<
M&5$<$#LT09_KG!% 9Q%AKA_&OA4$CFFOO3,?0BG?.9U:+*=+P&>=G#Z:G-9P
MEVF%AN4Q8CBV2:BM!\3WF$L,9H2VXX4T#/6U=\YUT-4B.>WP5JM\:JL0#"I)
M;--K)_-=8&@[G&QES(2RN[N<OF7F]%W6Z5<-RS)H3#W"0RLFU# I"9CEDXA%
M=DB=2#<=C _5>U1?\5"Q+D!T17QQG?0_LO173*&AXYEZQ&,2AUX =II#">-.
M2 +=B*CK>($=N\A8L 1"_F<0)[H4?Y3EMAP<8:%/+<[240&0TO&#,GR?FVIL
MA[^J5))5==9.32Y135XURRU;ILT"G>AZX(.:9!9A!O,(PRJ) 3,M[HA31U>_
MG@)\9TNY-?"HJU/4<E]8IP,>70?4:A?IL<$BPR .P^H4!H]($(&U%-O,C&/3
MILSUL7:1[B[!6[;**.E!V32/$/>_0N]H!4IM-3@5U>D?F$FS@MU^0";-(^2%
M/:L1ZXX/6G5\8/BM65CSH=\VLO/R?%(HH2[V]H\="Q1#7T;C=7#V+G#6K)NT
M/N<6C1R3F&$(<#9R#8"S84QT(XAC3BV=QOK:.]<W6Q]OUX71ML=UWTGH0R6T
M,CB]R+'<V/9)Z.@VH2'SB!^"P:F[U/%MW>;,]L#@])95%;'E9N5R@D';CBX^
MLF2L@=#&:7:<_.1CGN=(L_GY\V=MF+)Q%QJZ4)=Q1LW0HB%E1D0M._9=PS<M
M,Z06M4,>^;=&&SQ.DS<X#^A/VQU_J&9B-][BP:13:G=3:E8%.T)C</PCU /&
M0\ ;EJ 1IH%-&-<C8E,>Q3!I01B#7O/T+CATA23U*4#'[P6U[@N/DTL>D5\\
M2SL!OK, []0%V I=-]*M@!C<" @-7),@VQ3QXY#;S#9II.OH@/%,PWS;92,_
M']>'B P X88F0MNG27Z"J?^(3R(0M\X1\N>(,T'IY3@;'/1>OS$;G>I[).RR
M\8-2U_19[!"7(G#Q*2.!X03$XUQG'O.,B$5+TWN=VZ2]\OQX)_JW$.Q.@.^)
M739^A#$+#3.VB>'J,0BPC=&.(2?,HJ89^5;,8MC83==IO?!V'I5;R[4\,4Y$
MA(Q&-#XZ'Z97G&L9Q\+.*.D3=JF%&8_N20R^ND;;'XYDG&.U?<C245_-R%XQ
M(0?L<E-,1Z?L[J;L[ JM;%N#K4/ZPV>&Z;D.)U9D.H0B6@E"3R=10$/#<1PO
M8L':.V^.QNM\+:T5VR?WM?Q.:CO;8TG2O-.4YLAS[)"!#/NF&1+*@HCXW+%(
M&#MQ['@FI7K<.5Z>J^-%I&2$)VQ\S '.:#%+,NTG&TXY.F N6):Q\>1!&:S/
M6Q4NW0GS 2;@&X[_1G0ZS2?21ONNYJ%3@LM1@K01L^(9-@TBFS []) $,R+,
ML$$3FJ%AVW8$$\L[!\P+D.6EQZW<09:[G(J'"G0MQ 6L$#,,7!*%/A8G<G02
M.)R3V&,&#V+=]9@H3J1[G4OFV;ED'D2Z\2*LMT?,'L49&*3CM)E!UH7M/=3O
MLO&#AJ8= Q8A@6T[F"OJ$\ C-C$<&AFN1=W8-M?>.>VGZ>[<+BT\(.H$]Y%<
M+!L_+&J$)J<NX:X!@DM#G7A&K)/(]+EM,<YY &#$?>&%8=N7?=0*.+:"M:;F
M\7QH 0=;AQ?'91-VV9&BM8_[HTKW1T_\)GPT&4]A)'?+>7POIE'>=X"3V+^<
M9 PF(QFS[&I[PD<Y;"+8W"P5Q.=%XD9GZRZQ]'B#:,T%*!CK6(@W"CFACA>2
MP IBHKN1'41QY-K418ISSWL(ATA'L?8L=<GC <I.EZR,+JG3MD5!X$64&+"U
M$.KY ?%=GQ/F64[,;=?PL+:;W?/G^,U619=T_K1;:Y+W?,SC9"+!W(.AV^I:
MZ&U"9Z IE5&N9J=3>'=3> T"-@!*@>?9'G'-V"0T,"WBAQP0E $S9P>.PSA;
M>]=EC#U387UL^-,)Z\.%M89. B<VF.$3/8A]0B/J$=^)06*C* ZCT+9\ANBD
MS<+:N="Z0>@&H1N$;A"Z0>@&H1N$;A"Z06B5NVH%SQL'?*(-T_R:4^IQ_?ZM
M<];]]7C]?SX&_^-YYV 5=FSIC^$#V/G5..V, J;[>D!TT_((U0.#>):G$QKR
MV A=SXY"==JYNB<4=S[M[#1=I^G^G&NSTW2/J.DJ;Z<3<Y=:3DP8CQFA',,&
M31X2T_8H=V*/N78HSV(?<CSQ#,YBBUON51=BB2SVM3&T8)2B=!H,^;5!7 9/
M?BM:V1DFMS5,M'.>02='(]#8^0G+D"XD8'D2:FP<:5$RG$YX=+^2$RLX*@\H
M.?$(Q5.>U8AU#I-N$-H6Y-3ZLI1W=A_=-C1BA>VF>5U<8=/H,\_V<=]=KC/(
M?$#L*[1H2^[[JF'*4-([0^DVAE*#O2$(?#MP]9 8OA$3:KF,^*;!2>09MAO$
M,+MQ?'.672O7QWM$B-WJ>.CJ" UNQ]1FQ'(P^XX[$?$C[A$6\\"(66#Z >Q[
MQOJ<_+LV!Q+=V4;LMK/GOIT]T./7J:NG4U>5UX^Z4>1A9*/GF2ZAS*(DB"T'
MSS?TT-0C6-SNO3:SIUT='=A9TOJ(XC"@AHOH!C8Q:GJ,>,SVL%HPLZD5VXYO
MX';FK=9V]O2.X"7ZEA[1$=S&5G8.EVX0ND'H!J$;A#8Z85MBPLWWO7X7O_!(
M8] J=LSE\9BH3%@_+X,_3"?YA(U%Q[K:['_RO/A9CE@KSJY7) =\]J#Z_W94
MT-*DEJKIL=F@"Q6Y(37D8#H*>+8;"TLZWZW4HIBG+AIK>7;WET99<]TS'"]@
M#HE]L+:I$8>$T2 DCL\BG0>^PQW:UK52=[[4ETRW6AYKM=@A#<R0&<0P79U0
M4(>P6FA K"C461CHKF>SM7>T9SO78_=:3TC<\8L_9(-8.L5X)_1/*O25:Y9Y
M!O>MF!,'%#FA)M9$TF.=Q(9EN8$5!SZ]R77_I*NE@Q-_=JV$ ;4"PZ/$C&&9
M4,\-21#Y 6$&,V'[Y]P*P=RP>K!]K-X&\0C6E7%'KIJ[6*I1\O/I-HXX32?C
M=,([$;J%"%D@.J4(<5?7W<"+B.[$($)<QTP)%A/#,P++-(,P='148')\]U)Q
M,C29G+_Y^^^+BXOURR ;KJ?9\=^@/JV_,[C\=W%OX4BX^=__NW_--87J4CO/
M$OP7ED0:Y=H)^\FU@/.QALR%#'U=>-/DA&L&@9^(#1=@9>8<5E\:GFD@$,E$
M P'E(-SP[#_3,=QJ]#34[^M"]HMVOBM%_O^Q]^Y-<>1(^^A7J?"^Y_WMGD",
MI))4DF=_CF  >]DS@ ?C\>)_'+I"X;ZPU=TV^-.?5%7?N'EHTYAJT$2,W>Y6
M5:F4RB>?3*52]11.H=-+$/++4)N.GPP._#&YHJNKX[*'&OU_*2XCA?6QR&3S
M3=ES\*^7JB:S/QD@Z"R>=0AS15O;[T(/+N(LB[(?9'$? 72IA/X>5[J3G>FJ
M/C(=IA9,)F 1]2:>9L:5/=VS)32JIV \A6:P?GGRS(W/N N,KA<<NGG6'Y31
MS+RL?$?'*?GKU](-3R88-G?A>$3Q[!)MH!- 0V^]Y-K(/])(,WE%E^;^C-VM
MT1EK;;F4DNG@6&X+'0B3'AQX09F1WGP";^_%Y*J3Z7+T&? L9"JO/R,=X!5?
MZLY7?3%X\<OE60E3\LK(7QVT6X<FA <;FD83@/+UFV2.EV!W?15;09]T:_J2
MG521+__MKV4$$CJ,P!!5)2:K^/IP._WJFCHTH_WJGZ;ZY2K07M68Q\>/:_'P
M>E9O[VT?O#G*7N]OOG^WENWL;=ZN]&U]A<W]O7?[O^]L;1QN;V7O#N&OW>V]
MPW?9_NML<W_W[<'VO[;WWNW\N9W]OO_NW<J]W>O]@^SP7]O9T?;&P;ML>V\+
M7G)K>W-[][?M@RPG:VU\H?J.+\LA/-W> 5G_KKO U8>#>+3D\*0_@KN[P3_:
M^&)W,,6W=OLRIXCWC*E'-<Y,C6.=;@/][>BS@7\Y^?#KA,"4O?JI]46_7KY?
M- 97O)=Z5)J?9W9B'3>V8LS_QD\>_[Q>_W3%.VQ^$W)=477KSWB=W/K;]VY+
M\G5.?NRVW_^-Y[<_]#Z=I?2NM_W9:XI/<A7V.R\UUOTVO59<@EG@I>ZPYKYR
M[X]796F]U?J1ZE6E*BZI7M4/12GM)$K)]K8ZW:/3W8N]PS]/=M]LX]VM7;K_
MX0CO=E^7^Q^VZ?[67G>/PO_O9E'*W0^[YWMOCLZ/3O=.H&_XX]9[NG]HSW</
MM[]]W(+OOQUCH.#\Z-VU*"7\MHT_GKXN=^GKSWM;!Y_W#H_XWK=MN';O\][I
MZ]-]N-_N8>?D/]\FJ\#P]\8G3CW#1&LD@^&(64>09D(A6A1<>B9\(6PJ5Y6
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
MO"E&UNV[,D#_XL"G5,6T#I.DE*24I)2DE/++TFQJ7WZ9#_UR$9I_X&U'#P;
M<!+97RK9IY<"9(7(-6%*(&%D@9CG#&DL!)(\-SIW4L@F0,9PFU;%DY:OKLU(
M4DI26CDI/49.6;*8+;*8L_"8=Y@9%7(D<K"3C%"'#)$226N<-J)0@K;08CZ#
M/++-?@]Z,XCJV0]9KS^$.P_[V=DDU[+9\ON\,LH6VXA8T((H+G(GG&&FP%IQ
MYQD.3N4A8*:7>Y;!3%[[H?D\+$W'O_,6F@[+5*YSJ2"6CP&L.?/ ,&Q)(1"0
M_%BMDQ=(6PL8IL&]PT%37^"Z6B>^]T[$M)ZW"GPR22E)*4EI1:2TNE'79SV;
M%O A/:?82##2W',F22X+HSGSW'",@PILJ>71$P_[V3QL%GYUG%)KE4:2*(R8
M]4#$)!&(.N$9%S2WHG8FB_N7A$C&(QF/)*4DI564T@*F4Q9""*/ O;68.2%4
MH$'+@GDO3!X*E4SG2IO.N?V\@3$AJ$::B7AX8PY&U >'C#<L3G3%\Z)]IO,9
MY"K^=;%%.XO4AJK?74J(=F67EFY/P+XQ1FMS$@PGHJ#,L=P1HW616^^LH#2G
MA?WI,=J$88M@&)L/PQJB3%%0@[3G."9?4*1"SA Q1"LA"!;, H01>H\\Z[12
MO J$,DFI)82R!6=\)\Q=/N;.2G#2@EN/0X$"T1ZQ$,O Y)2A(BAO<^/SO%[Z
MN@ZY2:-;K=$MQ=W5C=6GV=2^V92DE*24I)2D]!2E] PR%&O:CTRLNA\C8]/*
M_,\K)S$MN20I)2DE*24II3RRE$>V&KMW%SI4,$8QS=73AP[\?T?EH!SZ=[[Z
M4EK?1#P/O.T?]^J[U OJ*;2Y6&B37\HFDQ@S'R1#UE"-F+,"@? =,HY1KZ@N
M%(Z5>W+2H@7QI/*K:T"2E)*45DY*K3^3-YG/GVH^9QEEA71QTR-%PEN.&'4%
MDL$H)(C601;>.)RWS7P^@WRR/3_,.OU!.HXW1<V3E)*4DI22E%(&1YI-JSF;
MDI22E%9.2HO4B+?!"^PU%XPPAH,VW%&CI2X"%8QK]^,UXL$/V.G9?M?_#LY
MVEBU/#?8?@47.)^=F9(K77"FD;-Q8Y6@%"D1 K)&Y5QK'B@Q+U[Q-26O.\)I
M7\)3T.&'.^<AZ?!#ZO!<D3J*A3-&( Q20\P9C51.%=(A:&J8 VA6K=+A)Y7]
M5=RH@;_I3KTM4@^S+6]]U_@JR\E:%E7H/AE@IE\Y7Z%A_^QE'/U!OU.Z++[-
M"J+48OMRB(U$0TJBB66%Y#H77!684^*9UY)_VKGC=ISZYONCX6"H>W'$$C(M
M$9G.Y[<\$AR8(M@@D;, Y((3)#&6R#B"O24%=H['RG,@QR5%V>^F'H^\Y/:
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
M7?BO,/3>B>B^(6BJ %0!Z(YPA-IRG^L3+:EMR^.QOS"P2K0I4H>+9>G7OYE
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
MW5-8BHR)TH+JY8Y;6:H\4UPHN J-S35C6V%Y%.OI8+]K50#UD5.B"Y&A#5Z
M^:TE*<$;\D7P(:=TYUEQZP5XC^C9[UNO]YY>[SH*Z7PWQOEF]D7[2!X@&\0D
MD=:$#M:8#\;^FU2Z-K[,RI)+Y@0O-#5.>A[RTF8,+A\CMI?_ Y]23&I?XBF5
MF0]6L()DZ"YSG@?T=BC)5)G#[2J#X\7.,[K*QZE"5C<'P6+TLFUPKG>6OTYR
M"N=%(26S5(+IPL!;]LP:JAG5I:=L*SF/H-^OCT[VNR&3G&FP&(U4AG##'%$9
M-:!DN?$T"YH5"LS&Y?[:NTG.C?3VZW73-PN44YQQS31X;"6X_5;34"H-YDVN
MO;2ZW!H,C^*'7!]V2Q-LR(I K+2><.\],<@^3D5)K=9@]GL'JFB-'_+C59$T
M6&!;E$5N#7>A,"P3>2D4#4(J507JMI+SX))SVO4&+J],:P(^H2 \4X(87V@B
M,@:28XL\RSA(SC)-_1U5T>8G<".@]G^F/4S63@U6VL0490NE_F(ZLF>Q)*3.
M+59 (6-?56=]]@.7DJLQ6'0!DAEZ=O;QW0A'72U8_;A46!0?A,G,P2D<M/2@
MJF@FE8$D>.V4&A^G <V&@05$QK=9 *O:G81JOXO30*:TBEH"\>5W8<<N.WU]
M&>N+1OX4R]4PU[X+C[FXZ/=:='^8P)TA#:2GU,/'[#)6U(Y&TXM45M0;U'YH
M1/*^FCUOMW/:'QI8U3./^=2$/9RX%VL&N^?'__/R@.2J R+@_'G/IMRUK8#)
MX=G^2S6WA+\?>2^'H[Z[[+F: "]FN_UY3(=76.''4R38J)<19V%2;KI*+]>#
M7%A8U&%SV7R-Z/N?A[% JR[620GGF#?5S7?KC'/'5_GF07R00?1F/X:EF*69
MZYZ[W;03*1.-4C(KU8)5!#V',.^1\2Z-""/>Z?RD98 /G:&C-JH_TYJN\UC+
M-IJ+$.!'9@&EF$Q'%KL9'/P,QZ!_M=ODA"LI;XX+3#1F:9V/$QDGGJ\&5W_:
M#[U^O_9U8A_<.'I U8>1>##>#-4GL>0J?B@%.. __\\]FG]5$,P7X#7+PG(A
MG%(J8WD!GI'S2C(5FW^7C%A2+%X=;RIQN!M 0_GS72'%X<DAZ]K,!@%W ]&>
M4L)U(8F2,B=Y2<L,?%(J?;GS+-M;1K'J@ [OUUQ\]]IA,)'AU(K<2\:#",K3
M0BE1BLQ3K@)=T]Z]W>&OV.%765=R<&\-;*[*):;P#.RP#IZXS'#%@T>P,MSA
M9:-RML/K0B1Q[Y,_ FH/2QE!1_6O;J\RWHSBF%H17IX-OZ)$I=W8<G-%3$5I
M\[#E,#.>G&TMS,-'!8\'N ,!>80:TV*TX!M]2Z[/"RDQKU1D(@-/"4XB^-RJ
MU+H0H USM0W:/) 2O(0QYX<G+^CQ@668P6$ZSXSA@M#<@*<D0!5JGFGB#=,T
M#Y([ _J0JO6>TO+Q;]SHR0VL!_.J<WUP!PNPL"(Q)A$?4P9YR)F&ZZ',,LUS
MF4FO8^;9.ZF<S[*M##Z"#%[&.(_2N1!4D]*6)>%@XQ(5,DJHU*7Q7MG"%#O/
MRAM"SC??,-N,T0^X&P8N,FXY\,;&DYY]C!.KK 372&76.LN]5-K!%4*9*KSP
MA6=B&U][A/@:F-&?NM;24HM0DE(X!R?6!&) <Q(GA**Y "^*K8NOH6#<;YMS
MELO2Y5H;S7EAM*&N5*4/W&>4POVUW>9'V>:/MEOXD,F,:2+R,B<\8"^.TQEQ
MVCO.RA)L-;7S+%]1WC'O >T^I*V0W9@(^CZV0C!",Q98'ES&\ZPT#*TE7H#9
MD,,*%5N1?'B1?'MY]/%3EX(U(#))"3/2$IZYDLC(D@?RH)7D.5-AYQGG#V0K
M;+')YK#)Y!:;;(M-ML4FVXRQ;+')MMAD&XQ-=BO6V *:E7;2^)#KW ?#E; 2
M[G7AC& @VEX9_FC89+41]MJ//3(R[P_< :99AQ$W(*(OC7V"*?OI###LS'];
M="7R+H)/1VC0$JPN\/Q4H1VQW,*%)A487>Q)=.;_G?+%8(LW&[SYM1PK!IU\
MJ'$L(4A *&.P7T<]S+W,.N5KZ %,P<?FL=AAWY0&)/RP63$'-O?W^_AWJLEH
M,:.G(@F$<CGSVG5Z$W\^*W28AP3"EG-M:R[X^"2$[DEGJZIEF,TCO0E+1JH9
MN:IT(O4K-:AE-^?0'E<QO-"C =:8@%/VY@Q&M84L/#HYS+M.>E]X;PFSI@2E
MH .1O*0DSYFV3 K.A7T22N'(5Z@Y%R#C8]SAS=<)R'%F%T:-V%K8>S>M,(1B
M6A7/_:">8(/!$VNJAN?G0QPXR/#9,/7^5<A#Z=5X%A&\Z=1W4A0$[<?XIEC/
MT_X^>-83+#*+KW/36+(3(7YBU]<N5CF!EJI_FFJ(Q@E_Z6J&H-'',8,G#.YS
M9XQL;E&'['4.\(<PFH7IGD;XP:H@"=MJ07DUWY_!<GS-B*MWWNE!$?=I',N!
M0%TEOKK9IR.#39QT1248%S&-X**J4*LIN&I]'<WIZ-(VB[#;F0XJ%*BF!JL!
M><+B/E+/_(>JRC?VS+MIWQ^'1:49!19-J[27T1_YJ57H@<V[EN?>8D^P40KL
M*FX$D7D&QE4F0'VR@A<AWS 5NEH=865G*KN(YZ@J)XR%'./8[MXF:L038*+^
M2C@^*P]W4F15O> O$;1M.(4ANG'4)OYBTOIP5=;ZZ_J2CQ69OE51M>\;20(/
M="]+$:_[AI)*N:>H>O"83\[VBOSK'GOS[PJV_J7?,EAZY[C7"@>^WD=0B/[^
MGWRDH->/"(*L)A5I)J7N,JDJGK%)T_JSRBU%R-6%G!)2-LU-^.?9SCM-:@.W
M$XV.>TQJ+BSW#YG_$L'8]]9J=R6-V^CS$:U?/8%WW6$YU\YX+6M2UB).NH,0
MWKJDW_*,AQKD=Q:JF^B6]T2Q,?*UFCZ]"2A\"V?LG6G]?NA4[\WL=S^&OA\Z
MM_O0KWZ5[SQ/UX?(G_"O19<:A.EE!'1'*N^?@F U>W]R2H\/7E[!,^GAN[?9
MAW?_\^G]QP\?CZ[A.1__Z+VG+S+TGX^>+Y+RO3X[/GC/#_%[\)X/)Z_[']Z]
M[AV='[*C?_V[=PB^^?N35UA,DBTPV)<Z>*XQA)EQ13AH3Z)IR$B>F9PSZT7!
MY<XSL2M7\$/?G6#UFZBAYQGLOU*3+JKZK4;ZIVJDTCEJ"^6D#HS+PBI;4"D9
MD](CJMIMN 5;C?1#--)5HY$HLPRN$DMRR3+"2\.(D;!91EE&I0I&&[/SK-A5
M<KG,=H,TTH,8C@L5=WF1RKZ^OSG]!)^Q$9;[AMP8J]W! S\8GB,T_=<ZA+?<
ML1O\C(V(%3P5M^Z/I9S%4IZT3@Q6F<)9BO'_KA4L>K_U6FF$;9ZELM9024OS
M\-[3O(GRKMJ8_;0O1S%]?1RJY&-,2(Z/9[NS-6(>SHB9XSJG19X;67 0,NH)
MYUX28[PE00KCBR"DUV93A65)2N+YWXK*(XF*M%27@0IB*6+)&B:)-E*08%W!
MJ2B%RMC.,[Y;E,OV[M(/5F= ON9>>BR__*Z&W/9Z>!!7=GOB-^7$SSQ<+<I2
M22V)+R+4*!(KY,:2,H,3STPA14$W552VEL1W%I:0"57D!<B)]3GA10C$,*I)
M9GE>E'!'A&!WGK%=*I9Q C;^>G@$-RR_Z>+8:"=]]8WQ?]\L^52)?BVBLZ6J
MS7$"-#+>#[#_.+%PUPW&.8%_D:*JO815[$VJ0DJL\OSW=  ?J3N,?W26_=L>
M_E0^N5V$U?UB3X&'>#^5=4:VWHHHMJDROYSU;32G#TNP;D0 VKU#.?3%""E?
M\;'I$#=@89%\^&[]_"NM!EGDFF;6E%H4'(P#P[GCN35:N<!,:>[M4N[#F.J"
M[#=-$?>++XD-\\_1\/SYK+YUN5AZ/]:S_K-MB6\HGOYR>/+BJ@N>O^ NRTC)
MM2 \5X(H48)%D DOF9/&%/G.LV+96TR"5]<3[]Y35E@PGC'K&'4EYSF7DIHB
M*ZB5QI74W#_\L)651Y:5EY==)7QNJ%$DMXH2KIPEIBP$T383N2E,R/-LYQE?
MQO6<EY6;T6M6BTNNP$(57O%"\B++C!$NUZIP!8*'J-OX"+;B\OW%A75+(0VH
M%DWR@C+"'?@9DM*"R$+17-+,<X$D&"L@R1;D977+T"(Z3N14]M4.)NQLO#/-
MJAXOV!E;85N#H6LU\MC#AWNCU DZQI]?SA"<HRT\WQ^$7,DMSO:YWJ0$.%U=
MZ'^///ES&N_L=_65G%B,4[XL,C3'OE'L!-VMT$2Q&\KY4?7D;[F5=5#(3RB4
MR"UWS*I@=2AEJ8*PRGF:CDY.\Y+4_UA]='P8]GY[WM?C\7&H9G(\>HW63#VO
MEPC=[;:GXE;(OI/W\+.776=5D<'ND(R5AG /MS#H5$X$8Y1;YC,PHW:>R>*.
MYR.!6EQ5/7CGE92U7;V9I]84\.=E;3G61N;%='0Q'%?GK3XG\.5TD%[\_>8)
M /<_M&&=M0QK](GA@*-7G)0)GK\?8G!G&=R\TEA>",%U$-IE+'A/,U@4YYB^
M=YAN>RL^ZJUX=+#/NM9:;CU8V+[,"L(U-P3\)4M47FI*);,!*Y+*9:S8SM?:
MVL99$ VC.2H44WI=2GB'%Z6@A;?\-F;'K9A\=S%YD76]E,XZR9#B3Q&>T4"D
MS@+LD%!EI@/-A09;^X'=LDQ1S0IF:<D9MU)+*4-N0)7D8+#E!=^*RB:)RARP
M'_R]WU56.ZYS3Z1AG""4%0'Q*8@QX%N;3(,#Q7:>Y>(VN?D*%\UZ1@M6A(P5
M)??,H86I+8A2IG/+7-B*S@:+SO5^MRR,*()SA(9,$BXPCUC8@OC,%CEBRE/*
M=YX5V7+E_L-[:V!DSKEH"<SF'M[9O(7ZR&@-%3"#=RB/?C!. AG-Q?V!>QE!
M26%0?_?!H/V)$;!>77<%-;GWJ)F$\80K)H@)A2=9'H07P>6T4!N&U+ :[.8-
MBC0QD?C+MG9]\SVC2&EFAZ<#^,[<T&OHJ$Z:58VW,IY$W\1U3M&YZ3BDQ0H:
MCN)GW9_ZY'.F&,44- #HZ(C;VCF=]EQ$@NT<ZH$^C7 NZ.M$R"S\^!]]#2OX
MQIX-(TUU/"TQ<().T?G0^3[ZK^DE<T OB2 LXFGY\XO^\,I7(%RN!Q.;(/=*
MO,"J=WV<NM/X<F0)2Y/!-WQ":"QXT'GUT,F9GB2LK/.+X0B)WCJ^'T<]KAW(
M-*C>;*&J=<0'1%8VY/6JOU,#BJ6XT$6B@NOW0A,62K/9G?] G"A)X://0U1^
M2-65V,Z:#\&%%GS$?4YL9WN=YZNVL3?NG/J!'T5 ('T.DX(==XG1"QQ8C3)!
M4#X2L5>$)8NCB11>XQ[2G_G19QQ*C3]T>=:S9_,/QB]\QG6%-:U!?]YXWSD:
MPO=S<)LCWG[V^YL6/E+-(/<"W@.SBY_(?T]PT@VY&*Q@NKGCZCZ?NTD6@'\B
MVUOM?,^D U0^F4E(L\&#X:2#1,L)-ZGCXR 0YSI1I$4@E#F(ZY:(HTS9"&Y2
MRW?UV_WT#7S &PRVZ)$;PZ =4OVE;?FE6HC]-\^K"?_:*< !+&9KE-:#Q*ND
M\[>^2I($,SF"F;RH9]*L5Y1R!'!J-F/DR;G7XRF&&F"V7L-NC3S*<X1GPJ.+
M@^RGR5S&0>+FW<ZMM'$*^)'O]'T7HS=(K/<<L?6V8'5')_M%5QKM--::4><+
MP@//B9*Y(H9I)K-"FA*7<AZ1E%+#I'+4&140Z%)E1BEJ72%$QIRCB_=]:^D;
M?,8ED=SX:W8=FNLM:[%R]O&46[ R3RL8R1D%9&_0@EN;X3SB;735AE1+ )%-
MA!?N7M^0+R(G9/76YO*"BQ>>.!UWSKWKZ:AJ\(L-RZCSYT/D=!Q^[KDTJ!G
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
M.OI7DF>BL/*B6=CKET:SU6?PA1@-65P\_CUU( O1[^#[DY[#R9[44Y0;%X$
M07!%"]@>&,*3YF_3H3P#B[!Y_2 [V=F@@V#@#PL_U/0TNS5C9)=>KXG/=<99
MD+2U]-9,3>@[4?.?\J-)"^.Y;>OJ145K[KFVS+$/;_<(OMDM#]S')4 &Q]Z7
M3_VH+^RQAWT1MHIA2=G@QZ.^[M3^*#>^CQ\_EOO>G[5V#Y9K=K>;W0A!2)+'
MH'M<N( =P,=4RESA*"[\5F98>%8*-+P&@C/-\\8 -[W16$0+A\T58+VZ,X\G
M+XRZ;E#VRO6PK&Y][ R!MRX</>GS:WTPMV'U>Q?>US[[Z#F-$]34/VH%"$[F
M:/MS\^UXDM:C"[UT,[ )?=A-ZK63VF:._0I149V/01&#/]>++H*@P9&%P$(6
M0R@T>E0$$80P;M<Y<4;!70=^XLN/3L?_;QP/D=:B;$W=T1>U;F]8Z]D8% %R
M">)C3]L7I<_?=\O>B# @XZ.'ROK!(/K@9U8M]HXL_5SV(KH\6X4CK/1(793+
M!GCC!\##DHMI"'H+,PI/ZQ?O X)U!C2MO$]JS3CKYE\OO4NE.\["C6&^^H-"
MNX;'K<'L"-;G.CB&R2%"<9PQ[Q&=?\ILK_34EGK8*CQN9[VTRA.G+4 NP$ 2
MP".8^>*-Q\,J8CVZPW[IKNM&_UAOE$;K^_W1V30\)J'+7$/WY#F?[5I]U.Z9
MZ&.?"NVXI69QA-(]*E0]>MM[G98M3TJ*24PM\W:_[FPAHFH)^N,5"16.8P_4
M.61P<<9:@^/2+9]&ZP?#LILK2%C19W+<HW6R"F/WV,2KVO?#Y**-,WOB;>J!
M#K.5Q P&86-O>(#8HO%Y"NOI1JH0^ZN#%,=%[D2A*B+R0=-CR_;K&\@3^0TG
MLA.7I%B<ZVW&XQ'68-BR12M6D(16]-'H_O@<:^RMGC:[GS:WG[B+UU._^=+C
MK&MFU&H[T)$DT>.OE:Y@4"Q?>H%@2@KU3I.;VJS#;@_F=LJFU$?%D8/^#O"2
M3C1FOEV,/ I4>G)2TW3/ M<+=^_XZHW:5FLP$>:)H,Z\.G!9X'NGQ7L#D^Q=
M>?F99R01FP90^72RY)-4CM4$S>(<S%!W$ ]EID<:2=[C;0$.^@Y%[_5%L3"M
MB!21F(SZDWTCV77C,+9$K\^!EL^=7<;.L" SJ0'MJ#\8Q1.M=A%K!H3:]R-\
MA/+H,?6H+V.ZNJE7JW8 ;W%#+_<@N!@>-G-9B=3:]GN#P1BQTH'@8 X:QZ<>
M!:3WS$DQ"8,R>259#68T3#C>!@TN-JGU^9.UVXMOE7$#*(9._,6R<3Q%&02
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
M_]53@2 ME1B[7'B>,8 >@87AF3'!*Z!8MYT*_-++?^4YU I"(SD,.N-6*,-
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
M?=OE.+->; 7%S>'M!1.7/GO/@;E7I15?1VG%I0GWB_"$3M.[Y_ON5ME=OWC
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
MK )CL@AV1%5@MWI@-Q.S',O D$PCV* H@)VS2 KOD,;,8LJ4R!F/Q_:"R&<
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
M<!7+Q#N#<XUUYHBM@JU74+5F@JVS&/+ #=(&](([9Y"2%G3%"C ;,B6L)S$
MD=Q0X+CR?KX8+78VLYD!FD,9F.4XYNEPXJPVDAB*F:S"B%=0BZ=,54O8U@++
MD0K:PQ:G!9(D!* O8/'#HF%8Q:C%6+QF[^A3Z."'6*WR.'4Q[)SU>]]3$=A!
M[8]43",6^08&VPNU6>K:2Q6]!S[]=JV(?&5 3X+WL [6.RH]"Y%V@#W&O,38
M![B5I=6YZE/ DITE%]YYFCL"L"1] %B*'EX,]K3 R@1C@U"I,&VF5LB KOQ<
M2U93KSC/C,YXKAE0"R-#3@T5L2M1%BWORL_U-&HZ90^YS+ACRJ+<"& /7H(-
MD N!M,09R:)_$K-54]/7T WY7:NKN]:7;"!-"NH%!%RAJ*%5M4-^K,9U8\PI
M5R"1N,]Q*+MA;^ WX^3_X\&6\9O6CCJC5-=LLP-LKG692OI5:+00&AW-D@;N
MN V:8A B1A#/ ]@RBDB$I<AL3@7G0D:O^PH9,I4[8MGZ^\#6:97^_F[]G3DU
M$TQG O0W,Q1(?\"QK;G/D5,9$23/ X_MA59*?U]-F-;>UQJ"^\! %HC-TF#"
M!8<]\YG@-"@MF9'$$I][4$+!J^.RI]? T\EQ66/+TOK%U2,S&&-S\[)^\O7D
MH-D^.3CY#//TM14;)QZ\/SAM?/OW=+=Y=-ZX="=S#4-.+(?G'&J/<Z.,0((S
MAWBJ V;!HA>Y-TSF%D Y5.%:]SY!LSYF,2IE N%4&,.H,Q;V/<(R'GR5A/I$
M"C6FI"=[HKYE#P-CA(O<(F(SV-<XS5!L]8 8%QPL"PO &)U96*R0E5PYLY:=
MR^-R*1C7@DG8"YTTSA*NB)$<!S!/EI:).GM.%EH_O$.7OM^K='A1';Z8V13/
M#PW1DJHL1U3H6,K=:J0<\\B#;>&\SZ2,^]C_\W\D)?3O%5+CU^#L>IOZ\)9=
M#%O=VEF_=]3W@T'EY+H-BX)EF5&YU,I0+C610H# &9!C V/T6<4;GI8W;![F
MN:,8E@A)3B/>2!]]ZCF #O9822P83@&D#Z8,E2]K==64*9IK&S(FA 8Q\)KD
M-'.&!J^-5[FMSK^>E!K$]-_ '/'$(H9C_U0N#=)*<(1Q;*239YBH&#WS\.(5
MJ^>R2L_.-W*Q,NS@YMK\M_6N*1K6/"1&YF$U4Y\U,BWKE.Q69(*?%_' ;XU;
M#L&XX:OS#ODJ<G!9V+=]GG OT938W@HLV9QJI"T'CH*=1H92L(E(EFMF-;#*
M6-E_'01D21;1RE1;7J+7XS6CR)+.ZBH4>78H4I^@2+#*,*4#RE..3<@DTBP(
ME"N:$<? &LU81!&\M$)]JU?'^!DZ73[XP>"OFIXJS[3M'ZS,*W.]_/%\J%,%
M=[\=[G[,DB9-,-5<.B1SK&+65(X,,1B%S'OLA&2,D[4W=%UB>@WNKD7T5UZ=
M9XD 3TM[*@1X"@28$AY0<B=C\0[I+4.<28943N"G(#.5,\J)BL7=UV%'6 T$
MJ!Q&H%/KM>[UL.D[,LVR)S"#.7"]4>PP/'Z+5]MV9_D3M-K[PS,BB&'H^W?=
M(ZIM8)%MX&*6"&8."V4(139C%G'M%-+<<F2H]M2&W"L+VT"6+RLH:'FJ]L3.
MM0IT*]!]::[("G0?$W2GW%MB[H+ &?+69;$0;'0V9AB1C.443.Y,8KSVAM-E
M-1MX>M!-Y/W_#C4\=!)'/1]K'7,*QB_2T?VC5G<\WJAFOU]U:53=606H^1]G
MOCOPM7,]J/W/0CUZ'+5"@;45& <VI:R@4C(FI<\\)D6U+CQ./[BNW>*J=L^.
MZFX&<O9,E70^!^#=Z>[6WH\Z*%K]Q%+X%]>W&JW]DT\\U6?= F7[5F?U]]L\
MMB]K'!T*Y4G(8EET$EL2$I4CC25%$A:#.B(8EME"^"RTLI8I97+!>!:#*X@3
ML' RDYJ:W-^825(MY1*6T@8=%!4649,!9&:>(BV,0SZVW<8Z:)^+M3=XX[J[
M\MH'-0"*=EQHF.X:8,QQK%\2RYFD;(^:[SKO:EO>^H[Q_0)P&5FOQ05-QGA4
MTHU:\]CW 0OB?[J]6!M%M_HII,,> WH!!,6[G]T<]>%&_=AW<?Z.5[),8-!1
M]%K=D2Y>(^)C6GFLM1522JZ#X\SF.A N/4AE1GD,Z#\D(E\;W^>GJ/IW^5'"
M_=^!LM=<'0EE&[O-[5J^\=,<KGMIWKRN[<(:]]^.^OW(@R+=&33A]O^T>_;T
MR77*CG6J==#Y?+K[?H<V.GL7]<X>/CC9^[$;*P.>'+<.OGT]KG>V11WX1N-Z
M5<'.P?M/?/]DGQXT=X#+?.XTFMNBL?6UL_O^W_;!M^V+_>;ICWC/R$=V/QT2
M,./!IL]14$HB3J5!)K,!=(H&IG)-F \% ((4>K<9D8D2'7L*T!C\R?-@I,@#
M5PJKS&+GL%ZK>0"J,YCV87_DU]Y\_+S]<7-GJ[;9V*KM-O^_[<^UMWN?/V\W
MFK7-+U^VFU^NT8 Y+;BB!,4J_7((;QY9D+9\\"!%[FUO,!R\U6>M(5">2^\^
M]CV@@ .FG$2MD+&MUL"V>X-1W[]B:;NL'QTZP"F?9\!-*8XEOD*&#,D(RG/O
M>"X,<9FY*CTK20K+94[(W8L+7;,%J!1%+091W@:M03R,+C>6T&NW>^>IU6ZK
M"Y_T1O!\-_CSKWEI_SE6SQ!N"P_S_>*3%FQ7W>%?*DU'(M@3<Z @]3 M;7TV
M\'^-?_C;M09G;7WQ5ZN;7BY]Z>_Y)T;O^!5"GYY6_/GO\Y8;'O^EU$:.\VCA
MEF[Y\L'%7\E&,GZOV"C%WS*Y(3FY]<]XX_:__>RVA&V(C-[KMC__FV#L<0;+
M[W3;7QQ]K&; QLW'&C<;L).74G=YJ5+\5^FU-H<3QE@#LCCW?J]G]>[T4BNX
M>G&C7^"E;@TJ>,;OCQ<1V1<1.C;>QEM=(&?1([KHH?:K=> O_/XOQS^_M$/1
M)'L[8]%;(6_Z_6R#PIO>H_O-3S\.MD[A_[=Q_603QK3/]CM[,,9_V@=;.ZQ.
M/XE&YUV[_N6*-_WDX+BQ]>YTM_GNM-[\=%'?^L0/3ESKH-DXJ;__>EH_L9=P
M7[K_;>_'?RYW9G,4E3?">NZ0<8PC[C%'"E.&%#&4AY@*$'S,421+2GY:F0/*
M7X2Z5?!5P=>C'2]6\/4P^)JI76HHME1)E!',$+<8(Y,;C3RCSN9&YIFS %_T
MP:VT?A=\O8:BZ&/N6!X)WJ_&PZNH-[,LQI0\JN6T;Q>S7KKR*_!9"'SJL]R)
M!*NQS0@" )*(<^N0],0A8@*U+.-6&0WFH7APK<.J)-0*J^B26$&EHLM3T2D_
MX+GR\7P*Z9":1A.*#'<.,>Y!11D70L5,';9**OJ:W$=1OE]9GN'3.4P^5V"R
M*)A\FMWO Z-:41U0EC.%> @2R9Q@E%EKJ' 2<\G6WN15I[27K)++=0)4*GD?
ME9RI-I[%#JX914K"KLZ9,T@J+9!QP3#!J81U6GLC7V#III7>WK_$UF9HZ/N=
M6%&@-V@-!S54@_E'K>YW$/E>_Z(R^A][U__B[:C?&EYL%2M0P<Q",+,WN_/+
M7 BLK$<Y=SGB&35(&=C^,ZX$#MA:E<42<7*%K(C*T%_1G?^:6JY\L>=GHJY3
M5D 5*"1G%FDK8@\AQI'BAB//C<,L,,TU>X:%GL>1AS!8_W,U_UU7O@97Q6<_
M&/9;-@:D6CTXKKP5C\U;IA/^%N:[PL>EX.-<8]:<B9Q;YA!6/,2.CPK% '*4
M"^Z((=9+(9:&CY4W8X55=DF<YJK*5JJYF&I.J4OL).)-'DV+3,6>R1;)7"OD
M"<N%I2YD6J^]8?QZIE[ET7A,I=K^W'Q;"_ .5;3"HQ$ 'WJMOS[JBWZOW6[J
M'V_[WK6&VYVS=N_"^\]^Z+MQ!,7'>UWG^\UC_W;S\_:733NLSDKO SW3SJN-
MK1U2O]P\)$82JJ1 FF(;>U9D2#OB4>:<"TS2P&U8>\-YU>;J)2OR VG!4A2Y
MHOW+4?"+>04/&#,=CRYI%@CB- ^Q%(!'!HN,<Z4"CJ[,9^<;>1&NAA0#5#D8
M?DLT9)%?7M&&A]&&> 1+-?:QK94CAB..C48JHQ+Q7"B3>Y=E,2IBE?H]5VZ$
M%>,+E6(N?;N/BFF9-K#9 X&/J5W$P29O.04JSSWC,K@L4OEE)7:MD".AT"^Z
M05>]2G&S-]3MVMDO*F)4!8NKVIG/AEO-1[#/%_.I,/T^F#[74E0[;8U+C8N=
M09P3C(R,E:=\,!(39B07:V\477*;G>=?<'@1Y\XC ^CSQHGEQK]6.+%,G)CI
M::IMQ@7S*)<9<+\@<H (+!"!/PACG #2MO8FEP\^1EH9G+A#C=P'586,#<R>
M6U5(.2F+^125WFJ_Y^$WO_^C%S$TPQ6L37A2+X&J=UG_MDWKE]MLG_[;BJ"S
M3S_]V#_Y>KS;W+MLQ,K<EP?M_9-_C_<OKM0F/*G_V&_N7]:;[F2_LP.@\_GD
M8.M=J_%M6S2:=09 Q!J=KZUZY]U)K(19W]H4AQ@HHZ#6($EY[/_'!/Q$ U*@
M1XPS06%BK];"U!D55 C!?99SGE/CF&92,$PB_<37JAEN;?_3O$>]RU\_9GY8
M@0 T2F-X#"'DDDB&/8L[GL%YAF-<S!.75;Q9WHO#E-H[;5OMUK UDU3_:\AZ
MHDJ0N]W:YNAH-!C62%$@&*_7SGTM%?CRL;+4L%>[E9G8]+ZA>-V+*R3%Z9 1
MQ7).+>6@O48*[:31QF+G:>8*DH(EF2,I.XUW<P=84<=WN@.0OEAV&$3.^/YN
M*"9Z.L]S!U4P%3;6GCZ'W6[@IV7^\:L#AAW6V#IBC<O3<V!'K'ZR?RAAL7)L
M8BAN[A#',F)$SI#,@$#RS#D<L^6'Y[WK):<=K$0MI,X+L0RH[O=U]\C'51G4
M_ACVCGSDCNNI6&@\N*+X[VOJD#XG?_\)%^EA3<>*HJG&M/\!DA]+5@-!Z1=5
M1@%TX&NQ[#1<6(,+?;\&K.+J5;W!,-6QAH'U089G!E5K#6J@3I-4EYFACP46
MACT=[,[DPG*\%Y/1GHWZ@Y&&6X(NQ&]\Z,&-HZ-H'$5>VSSJ^^*I-]\R?6-R
MT>3&Q@_/O>^FF[[M=6 2BC+;;_N]P:#?TVY0*UI=M'2[]AXHW]EZ[<.'M^LP
M(XU>?WA<>ZO[P.&Z,$&M3BL&Q[9;VA3O9LO[S0WH7>U#G,+^> 0;M7_&<SD
MM8:_I+%<GPN865\[\WUX2GS,Z&P\%\7*]$+MC]:?"[44R(W-<I8[D#P<MP5-
M<^&P-!+ 04C+?@D/8Q;P 3#M"B)<U/6/5F?4F;S<VU*:GDE]^M\.%'OG]?-#
M$;S5.G 4G%"(2XF1SDW,L;6!Y<'A(+*U-VSC>A[?N!P];!W'+7N<VDL,1F;@
M_SL".6I?@!;"5J$'(#D@-HM(B?#$"!XX"(7G0L2X& KF+@[6!Z=48>D2S"FN
MI.3Q>29L(Z>DWHS/.A7UD]-#&RRA@8 ARHU'G)H0D[$MDL%B"PO&%,ZCR%P/
M5)IT, !1<< Q^RT3D=T#GJPG#/RC!8"B9[#>@/S I3&?$=;2U4*_UZD-@0LE
M*(K_FB1AO0)/O^OVR(^K5Y?@F@(J\K\'-0^V:RM:QI/M8;WX@HO[S:WRV4WT
M8]E EGC.3?)Y33 GN)S*MG_T?3OKH4'TU4GD_D7C_#"7*A-@,2+"LH X(01)
M3 *B7F*E1!8"H,.;&]J__6\4CRE!B&1B4 ,ZLOKK_S7*:K7^E_ND?G0H8)?R
M/K=(,0Z[E8ZM_XP(B!D-NX0,2GJW]D;>LOX1'J8RT/7#6G*2P:;5;OUW!%9,
M$H$$#NNUMA\,TC?T=]UJCZE6WX/Q]=T/-FK1FCKKM]JU:$;%G6G]&K=+_&K,
MP^;MK,@J@1^Z1"1+?G4;AXQ_'^^JZ<).L9G!'7JC^.?(L#OZ B!U/-BV']]T
M/)X$H15I>Z;"/]V.&UN;%S">)3"XBI^]&(%H-#\M@9^M1R)_XNT$D*X0LLCT
M 3-#,D=;W9]B5F&I]T;#P1"0,-XB=OXP8%!V(Z[^W/ZTMC_R@^0.B,9W=P0F
M<5\/?>Q)!3^6HX-'P6<3@_1W[.3\)K?TU&6UDQ!^,/P,X_HRC"TIRWU;'_G7
MO'4?8:!N5%'FO92(8@+R*9A$DFN%!&8$ XB)S )@B8T;R=O$2EALE;WTDCOJ
MB;6:.Q$,$$1"E&*> 6[ELEKE9:XRV?UTZ#P'(DXRY+C-@:!3C726YRAN%1G0
M=<XDH!#?P-?WI?^MG;5'!>4:'@.,H XLY7'MP\X_NY\+]?]CL=7'F+.<$*UR
MS3BQL4>8P5AE6;04L.8WA]CPG_BD_XE-:&$D7W6_%4G6:U[NF1VHN2-VF]N'
M2FO+& W(6IM*VWND J=(2I/I#"LI T]-#Z^'0!8:OMCR_O_L?6ES&T>VY5]!
M:*9C[ @D7^Y+OPA%T*;LD<<D)8MJ/_D+(E<2$@BP 5 R]>OG9E85U@))D)1(
MM>!NRQ0!%+*R;M[]GI.$=R'%"+Y'Y%(8G5@2@7!)'#QTI]H[(W:/]VZ/][27
M&./<)X+ S1"(&V+@\=K\DU/4><]L=C#@\:[W0OTCV_)%QJ$YF>1M>"3K.EE=
MS.*YR[1 N< ;_CF. WCGQUB3?-7]-0N?JNMN>/X1ZR:CP>5T\T?6Z&\>J6 G
MY<KN+/QY-IZ3]YQ&Y, 9^H!L9L3^IQU\LE>39_^U7(7L#YN+"P[??NM[?PJ\
M;5JPN_"V,;I'F'AP*C2X+-5WXVV[\;*W(V[[0AQ=1; V"'I*7ZP?KEH?J.C1
MN!SZ?Y;H(+\+UF2?S%HZX)2 W?E?-_<N@1H\*4<$0I.?L\D:YJ9RN](]<3<^
MKIL>X#;G^#%:\%\<O?CCUW>=7XY_?ONFVWEY]/,JD_"6A&8M;6A/>Q=FW6)O
M.B?'G9^/C]X<__[R8/_DQ4'GEY='^T<_O]S_O?/F!'YQ^.(H,\ZN6X#6OIL;
M^VA6^FXP5R1B083SC,=(M6+@/1%FF=24&?GH?3?M-K%J6X'XZR+Z;/<'5S\6
M/R*W  PFH\44!JB../[8][$#7F(^B]OYET(G8F3T*4G'98R66Z% ,T HP[4/
MMG2ME> 1M461],:<_V&.;P97S5]_B;LT__]\_O#Y:+\7#&>., :^I=402:2
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
M3\=Q^?-[-ODK2O?D=<\Z8G22#&F?$465"\C@Q)'BRE+G@JY*06UMS<MZLY'
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
MOYY:6"K5$!8'9<DON<H5,<\3CAH_T5$C@*Z]>653[<DA-X%[3 /,;6[U29-
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
MK#0KZ]Y1K/WO?VE*\>];8X[4;(T6+Y/?:^U2.6J@.+4>?+S?^E%Z7X=O](Z
M1W;BB6VT:C;U@$O:T]/F>4YTR)\_[424OY'_3I='L6H=VP,"VNWV3XK+Y+OV
MVCW;O'']M5J5[CA?^''PSQ'V)U]:]JOI[Y[\V=S?^WY6?W]P?/"^#I_Y0.KO
MM\7NWO[YP<F[HYV3#W3GZ[N3W<V-\W\NML[@FF1G;XO"O2]V-[\?:L.9YC(B
M+U)"W&*'M*(*:2PQY2DXZ<5MF8N7$G@60:#B</)KH5BDPIHI0@157>$EE9\]
M?TAHP$[HB!1)L)]H8Y!AL+,P05-@CE(MY*UU@N\6(+Q6RQ!9(E.CU8/7NPU?
M^V&;_5AKI\L+M,>SNUHC;(R3K>UR*QN:W+4SVZW]]Z]XTTSX$F(3"9.[FS"Y
MNPG3]G!NON2I(=,),'M] GQ1W]QGATHZED)B2*64\[6E1%:;G+Y-N0C$$FK
M9.3T9G0>MM1VOYM%+/]W'Z%YY+YXB_0\GFZ/,H/WLI9=%:1*CFZ7(X\/B744
MA(<BKY1 '$>)=,Z$XXEG*@VX&!6@G[GI=[B4HU6@;MW,_!H_8O-\M79VU/!'
M!2+!W/I^TV8JUN\.V9QOMHO?NWG; FX']E &MOQ6S+B7BE_/H^WDWW\IG\]@
M#"Z'O?8H,=G;%X=2>A:\SMW5<F\2Q21R,@G$HM31"":=TP W:W3"%GD*?+[@
M2;5F[':+U2TWM\'B#U8<K!GX'SIIM^)Y[5M1/6KMTE0KS)^;9M&8030P2K@
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
M0XIRR1)1R6E;!*YN=LN81:+=8BC0#"H=+-8#+QUB5*'N1R+&6*C;1JJ=MSG
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
M>,>GE_F']$D?8D#1 G@WO2TFI( '8/2YJ\ETPH_H*Y1^&!L]%$SJ$!-'DNF
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
MI<WPKZJ;70__+9OG</83--_T8CX"(+<RBXI!W(-!;)T5[&'0Z(]ZE:0R$K'
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
M+OM$?64*P;I%T%-ZLJRO<GRP?;1+]OZFL&+RIV!,=F[&4COJY#WQOQK86B^
M-W.; F=>V42XCLP82;G3T1VJ7&DHJPA@7NX7F4MT_>??=OV:-C^HA\Q="W@?
M/7Z)]/NM^M;']_NU=[MO/W]:K6W7WZ[=>U:N9)=.2(":[UDHD+V^N[?UJ;:W
M6WN[6_^T^]?VYL;>UF;MW79]H_YV>^.OVJ<]>&%GJ[[W:=(.<&V3+"F2YCX!
MPXN1$<4EYAI+GY2E!&N7N) ELX/OQ+"1"1<C3(4D6.X;S(.AAADK(_92^*BP
M#W/:\R]S"&"<IC2#NOGQ![X0(#Q],!<S 6F7637%YSJQU^^T!CT SV(V,AO-
MH8N%F &O(68*7C/H[3,-K1G<7D\Y3'WG,.??^,T^[+<;'T&NL\\^9T/%%CPL
M/ ,\YTXN#52C:K5T9V53,S\ZH&.19UEXH39R5/2TTQCXLO)5QCW^'[--G<:=
M_M=O<DEE+^\S2*_ZG/WLH?:I6,K2V_X]GH_6YK+UXVC\PQ&.[EK&+LK8R""@
M4C[""4SV^6J.$33[(18OEGTB,U@MQKJ5%L%Y?J;^,, Q"A@-(D1GC=SRLG1:
MY/C(M0#2R ]YN28P8:>V<VMP9[#&PXC.VS\WQE-YLONQK,F78^K9XU>$5JX/
MKO1=YCC/<""%RRFGYA7!GV'0)G?P''4''5OZ0N/RNA:/7UP=+M0O[*52^_1J
M"24#PV@46"I\(Z$1"F?-)7; F,_'[: K^5FU(O8UP>HJ#)E8/&SVVHRMR-BS
MCSULZ3,NA/(L-IO%7'?:V1,*%RF&#UATY9,CY_!(S.'R98@L+V[QWFDG_BB
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
MLUZB6NS8;V<>U)_2MZ]V@%-.K:D,2]:G@:S!Y_#P*?S/^C+L[5B[;87>2AC
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
MO7A'=RB[FGS.L/"38.$56.Z&A1^=A<=26 :>(R),WZYX0%C@Q2"%HY# %D:
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
MJ!M ;B"_KUH]^D?Q09R]GC6)9ED(MNP4-KQD"#V7\B,-I_9<N-2?I-HKC&"
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
M-L?!%[3$_@K96+F3GWXR#,X!LEQ1%AA>#L$,^5/1<)\% HRWF8].Q+,':J-
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
MKMNS\C[L;#P;C$(.@Z9*Z8%"@\D+=J+U9@3*QUY'_W_&;\%G%PRJ\BFM!'Q
MB0\2*BKF".'KVC0,*'NFL&Q\_3#Y\ 6]5&S+JZ!TF,[Q^LANXIIPV_433(;-
M;(Q7R7*U50^+KI-:P34J%#,L-&(+L8^/=0?189<L0:2VV<TKPXQ1@+\A1GC;
M%,WM/%@-?A]L.8ZV_;VN?,KNOJ7#%"TR?@9+'AD:O" BFB=J^#QY4>R(@$[=
M!$!K&%3*.'5@9VD=M=W2N')^UT:C@T#D@AQ9\V%(?36KHQ1VCR#)00V.S071
M:F[QTM=U8.)D05;3D/ #X7>4?9U4FQ,R"!UZE%T%Q)+W3(5%\(@\!W%&C+&#
ME\*+]B7D#7^:118#<LM5U;YH#^3H(%Z YY@IC4MD%($U%-FZ?*;QG )N#LPC
M!ZZD]RK FFX0<@;PY :O$!/7<T0\\GQ<TX:6H=!A%O +2,+J$-'N:SHT'=8^
M?T$95@O6E;VM0T_N/=@HP')V@Z._]]YF+7C +]CU@9A?/NE4P35.)BC.PW]Z
M]3#S81TAWABO*./K_JT']-?3=1I&8C[LBU@/XW&)_>?P>0%(YXN[T.<Q'\2^
M/SP,J\S%2D =Q']$J3O@=RLME]R=B%S%F% EG Z=BP(96;-5!-S!LN7;SENP
MX'G!)+$'+=\ U<.B@]0.G'^&?G2UU3,=. Z)\@MXEMJ]-T0K$B W]C&,L<T]
M$&+?5CH$C?%IJ_8.$>U-U>+[$<'F0O(_.G:7,<JBC0CT>$H\[/ $D0ER04O2
MU'ZE(I&A.3X=%%+.1-]J%; 2AC"#UC/*7A%S_!%?&:FW\;$,9J!Q!MQ^LD4C
MGV;WX^$$BS6U?]E[($L2Y<#6V" <AKJF.XPDO"N7K]VW=)":00B*,'6ZHTJY
ME+__H[5!=A%MGL%0'\^/[GF4=[D3EE;(U"R&T$$J\^O0\RNM';-.P6C1J;)Z
MCKVNV:_JG JL#ITL\N@_O6#F,#0+&J98%,)KD5Q1U-HA=?E&D_%CSAZ*?&,-
M.UZ%2HLQB/-O_3O*ABY&7&=!&\LMA=+WM;7GD\,X=XPNH?7V L,<9#2(3!3X
M-&=H6=Y?-6A=@QWQ\97-L5#W<T1VLL XV*VNI)!OT1"=)AD8OX(6Y ;MDP?B
M.X=]N8=YA)T'!\I37&4PV@I]-MXQ":?_!(%]I@7!CD?T1I;A,HK;*L9/:N#3
MU.0OTM>?*6/T%13:$*W@4;#>^&OYX<I&2X J2AT\0UD6I]U8DT"X7B-,L)"5
M+&R*PM,(LPX#5))E>._9;LA=*[FH>/DJV@25KOE.7ZB7V+<WA(%:H!4Q'PF
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
MLD8+,A513]9HS/4VI0XQ%FN%CKI3WOP]J(:D*]M1I)D<FC'CI^EG>O=L?DI
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
M=?-VE+1-(DKRO86FE4??0C"Q0#+)Y)!R,)P]&FFOHQW2(<^ F+F74 \;[7S
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
MB&Y.7VKM0)N]=-+@\NC:JW/UY?\>XI0>\NGB-7[!T3*].N40ZGFM=&1U6ER
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
M$,DZ(:36?CU6T>-T[UMP3HP*^XN\]U#S9!Y&OWS]C.,\G)]/<>49UWAZB;I
MD3*!TA@@8':0DZACRYTINEO(:LL#3D2QO<FP@66YVG?>AHMKFTZ0J$MR"IP3
M=0R%$>"846"T=T%*BUZUJ5[:".=$:-"?R!OT'=U@]7R@?[HP>((O#(6DK<>Y
M>F]6/'AB)R!GP@:,S#0J2;H#U&D[GP\2_2%848&M7H$.T [K<GX#]VB\S8<I
M\MY<I/VT<)"<M&\0E1/(ZOU;%+73>#8,HC1(YHL612570FQ3"7QP@NSN63;G
MQR[";\&+R_CM+8BKUD\^2BRL0,XR@G*2]DWGR;O))L6$REG=*/1P-[!'8'(\
M5(GKY.A1 ^WRE+?"LXDL8(P1[&(0JC<)@D,/T9/!%(1*P;;):KT'V.D0I$\-
M--A!WG\*4_PYS##_=3+)LV?C_.MDC&>?1Y,+Q/<X_3),./LP#>-92!7YSQ>K
M!2V#=2I$29\*2B7Z@YPMB$IK\$H'E,9@BJX-?_;"?4+F[0$5V..EZT/1K["O
MK@ ZH&]J).^'_SAV]"$9LR=9>U#W(]@SUU81,W)ZJQ,D6Q->A*15%)U AY@]
M=RESTV:<U&,DZSTV_=/EZBY:[CN@_*:4V:?)%%>05C$P$8U6#(%<GGK74:??
M*LQ0T)9@B@L!UTI3ML23-W_^X6VV0ZIHTJ]\>T]X)B=D-A^F-4A"!>XTN;PN
MU%HZJPUQGTF0S%NFC<MD9W1+6MOX^=^/RGN0[^.KR_\5YZ\GL]E;G"[$VKPJ
M?\OS#ER3WV75:Q7YCBL3+6+Q,2H>&1TDBECD67!>)^4[5N1O>?)^ULBKL\]A
M.*T)E;^4@FD^>S/^)4S']-BK![V^JMD4)H44N 135  5R$X(FO:I) WWVAO)
M0YN T"XH][YT(Z'GX>A\/OQ"6T(ZGR[&2_WR-8W.2:4O:4^I&>OG\X47]J:L
MXWAV5M4V0$X:%ZP Y\F!<D)!,+1?,.Z=):\\A49I.[W /_S.W(R'MR[X#J[>
MO@_KYW5JV-7,NC?3=[6@8C7!;C% - ]<TM$PE4&QH.H T=I!IJ;1,H:*Y,.<
M[V:L=7C8"9*EB9P;^)(=!+&,$8DHBQ?H( 23R+A,JA;8.&#2^J0S3[=F!!YN
MYSYH1X*#[3--5'/LK@57FV@=DGAU/9:\3#XH,H93ILV0Q0R!<00C D9$'5HU
MLKD!XUA1V3:*7C^U'BSPIA&L;:,7?[[X]CMOPT7]V6(%WY8QSK4!:"TFN?2M
MNJSI0,'8_E9UG!#M'F39&L4ZLJ:?"HNMS9[,2 E(WAUY])$O!U=RM)$6)DSV
MK:.SCYV]]\1L'SEY=U%P"]+.)^F?;Q;C4B]C2%E)JUS&.A)=@](E@PO,@+4^
M2NUE5KJ-97<+RC'#><?2\#KE]E)/@PR.=U@K:-,<\P+:;Z21V;OWOZTZ,/#,
MM/(<1,F\IK4F"-'34IVA5\M@5.N-+'KBSIVP_N!1CVIKL ==NL"K"EVND.6H
MP?)Z219T 9=<@**5]+RF2G?K8+0SAV[ ^(,S>ZBE34WL%YS.A^3WO)U>SFE?
M4'EUV<6\<"E$X+)V).:>@??$:$8K--K)K$V;29_W /N#1[VJKD76^Z:HW,)6
M9(4E%))!*+6#F(H)8K >5+9&<*9#D8UZ;&Z#=-(AB7X4T6+OV03L\L7H JUM
M7<1V<$>JB^A'C5W(L8<.6F2_WP'1Q,A<#K2SE3J[R 2D/8[T:950+@@,635J
M17YH>MQ7%7%P=NPB^KXSG^B\>WE>+^Y7MSR71QXZE=#+Q>@3,KA+(73"1/+D
M)!G<5EK!UZR5+;=I6QYPA'SUOC0PZ5E\3:H8XFR8AV%Z48NWWY2%,;/@L&3<
ML:@DY,@$*&$C^&05^("&B>*D+6TJ:;=".FF+H1]%-+ IK\%9MK>ZE@)V^5)T
M0=CV>N)>C$?*!^]'J1O:+#302(N([/U(M1!,F51C@,;7> VG=\9[X*PXAXI;
M9=JT9SD69^Y+RSX697911-^VQ0M,B].PJNKM=/@ES)&<]K1P\5>]3U-(+&.D
MU2<)*HH( 5D!'0//S"3!1>ID9MS_K"/$.7I6SZ2=;+?:($=+M7T[G>3SM$H^
MHA\T3[;=^L0#I]MV6_E:PJV@?<+IHG.12MG 73%H@DI"Y>",=!T3;K<^>^\)
MU=<^]N+U,,3A:%B_6.4=E6AU-L5 "K440(M2:T<-,&6M-4X6X=JXG_="VZ]-
MZCR,<YCFM:?\>E[?T$GY_S%,9X.8BR9/ P$SHQ>5'$D(/ 4HR?'HC2PZ=FN4
MV^5I1QFVW:/R;[91[5N\#7RQ;<N_K&1EPJ,O :(IHHX!CQ!U+,!221*S3BZT
MJ0>^$]8!9VHWH$;_DC]V$N+-*;4Y"E[J<6Y]5* RJHI<0]"V>.YM,*Z_P:Y'
MGZ/=HQ8W#L_>19H]#\FY/O:T"XQ3'9Z]DPJVC%U^B/P:JM-RH45*KO;N=J!0
M"_!%>/!2"\6*304[V3./0XV=AF?WH<5=Q-:S]FZ.@$Z<<1UM F.5!14\K2-A
M N9E2,YG5;#3S>I3&IZ]D_"W#L_>17(]FENW1T"[4DH,WD'1K#:A80I"#IR<
M8&?IB$C<]CAH[)$,SWZP"A\LN9[?PLO3_LWTLC1YL;,4GUG1(4%0O+8FR+4A
M@6-@/":GI' QI=XTN0G!:=D^>\NXQPR&:WAJ;?JJ(/TR/-8%5.]&T58XAS>1
M]M?4;;7W).8V[_T&<,PFSIUB4"=8@Y+<0/31 ^HZ+4W4<K5.9<6/4?=WV%4'
M4OTNTNW[?N#;@+05OE6^G4=A3'9@%"^@')?@R,\'D7,=E)R8DFN7U-M*>;<\
MX; '=$_2G_0MNKZKM/_VM[^]_N7%&B >A44R&<"YG$$)KL!90]8A&1G>28_,
MR4ZZW/3I3UZ/>XNL[W?RM[\_7X<3M;&>L0 E&$F48J[>4&H0R5N=5*[=8#MI
M\/9G/WG][2FNK894@VNW18$%X3R?#L<??ZT69>T'L<>MVMT?V-NEV0ZXU^[$
MN&+2%6:$Q*1\\DX5KQTY-EAO5XL9W/W1/90AK3[[^60V)];1SXAWUZKML\C<
MB6(A<*YK RQ+MCRSQ)5B,!85N&_3,J4+NGTO/G[%^:LQJ1%K"Y\!JRUA131@
MC"+/5$L/3KF:("?1*.D4IC9%,S=@'/[VJW<>K-]R/%S,#2Z[",SS,/M$6^*7
M(;V(/U_\-L/\:OR&?-Y0[YF?)7K#%NUG!B5BTJ).E$C.@DHR0(BUSI5)F4I&
M'HUM18B.&$^3+2T4U"#+[)8H9H-@'9E$)D.Q-2Y58@(?HH/%G,T459"\4QQH
M_^WR%*FQI\![# I=IE9/$F*>U?Y4'SYA[3X4Q@G?E.K[3,;+#+KQ5>(U$?M-
M6?W2$KU4I9@@%@8= Q60+&KM$((0@ID4K67=9E3O#>6$V'($W31(?[Z^@&_H
M7V"<#XCE3'F+(!D:4(:1+R +!RQ2</I/5J'-)K,=TPG1IV<%]-AA_3*M,I(U
M5==>TS66>43$ZBGFX?QE2#7X7H_&A#Z%PAAD&>EH])%!S$$ T9BG(*+TOEN
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
M=58A<JO:I,5U17C "4@MR=%$(8_EBGOKDGZ^J#'WQ3V+<C+ZG#WQ()/#S^N
M13HI06.2+/.4K!&'/9"^@3O^57>?I.AZ.#U0.8>,RU2 EU<T72 VO?7N /(X
M]]^]*[@K@?;4SI&(5!C35BS2E#1!95;1R6P3U&N^@EG+4-HD=QV-0/?<D#\&
M_NRBE :\N8)T>7MKI(Y!!0E",@\*A08?503!O?.1&R5-F]:#:T >D8W\4&5-
M^I-TW[7Q'R:3T;<;^T(TSH(,.\;-*I=,9@&)%FFYXE&K;AT0;GSLZ6AP3Y$U
M>&O_CI^&:82K?O],,U2^,"A!R3K".T*(LK:KY#X[\L7( 6_RTM[$<3H:[T'.
M#2XT7IY/2:#G4US$\[[6KZYFKF2;A2V5CT@.FM5T2JGZ;9+)EJR\=*4) [9C
M.CTV]"3_%BG^DS+_/2R K;Y\@5]P-%DL?Y$VO)K.9[W-(2CP@@M063MP+@J0
MFOQX$1#=>N>3OJ(>72&>'F_::*=!>'UQ.U"[G[XZ^SR=?%F$2E;0O(VU&7*"
MI.I4A\PM1%:#03Y%;P@SNC:W^W> .CVJ]*6!'N/HR\KG29Q< 7%&:^D0@0N+
MM$J3R?B)%D(ACH84"\OWID_>^M33T>5^ FL0$G\^&2\3?TF<K\:T[(]T<%W-
MBBJ<"7)!R WA9-,@IQ5:61L%.26(<2$6T^2]O@O5Z9"A=QWTV"9X;78VX6<\
M.Y!15Q Q@RM>@M66"U[S(GN<<'OUV),,0#]<L#UZ#;>FTW> T?L@V^9CX>\:
M7?M %6R9"_\0^?7H^J_#\2;E'$P @\1X%9D&;U! ,,XH@9(5[/EU;:G&.Z;0
M]JO%7<36L_9NSJ@OJ42O0@!6? #%BR<@F4')R0HL6C#;*;&JVVCXZX\^WFCX
MG80_Z4-R/09.;\^H1^,SDUF#](:, N5$S6^U( /QE);$8^Y4S=%-A=<?_015
M^&#);7T+&]2(U:DPZS-@]J@1N^OC>JL1ZXQYK4;,:HPN)\>5D<I*%PO*&#,9
MGY$<2L$'=WWPOBE9UX?OO+Y*,[$V%FE2@LQ*]6N=AV@9@C11&A,Q"]8FBKD%
MT"'F.#&9C).T7,V- %62 ><Y@O:N.$]69M?1QH]UCE,?RG[(Z*9=!-N@R*LN
M= W5Q>4F^/-D.IW\7HNRPV?ZF_G%0-*;& V9,L7)7$>F)G(  XDF%N;HN+-H
M&@77=D#YM*G37"]]]V[<!/06PMJ)>TP?<K&((K\E_[<V'$+&E-"%#.6L+2A1
MYW_7(> ZR"29-4[8;@/O'X[A:9/ED KHT>5_ .R_A]$YKF +1L9SL%BS^TE4
M/',R[F*$6JU5QZV2C]7M+'HXAN^.-P]60(-KQ)NB>#6>XQ1G\W=ACN_GM3+D
M$F;XB .6 O&;&!ZDIITQ*P,>R:"/F?P#GD*.HDTE>W>,3YM*C772X^WA!J/L
MYUIE1.C^'J;#1135"R.TM0R<J%ET(EOR&#4#+:0L=,HB[W@BW?V<IZWRO@79
M]R7@1M-I,IY_&EVLOGV)5WM93+FP9 MP5@<@1@(9#"(!#YD13J]8M\D;.SWV
M!!C03LP]WBWN@'3 )6;GBX>L"@=EL@?'O ;)F(@LQ"CPX>;H[>=]-Q382; ]
MWAMVMW(6QLV;\BRER?EX/GN'"8=?ZCZV8J]QG$?D'+C2#E2=$N4SF3XQ!2LE
MPZ)9MU2"7N"<*'/:JN4VL5R/EL1=!L_SR:@6+$_#Z&]A3-_7WZ^O1<K>T1NA
M0'HZ*)6N[<R8L2!M\+:(9*QY2$CM 5!.@%"'5<=M,OD^ G&SU2NQZMS-#4>4
M0H+.2&94<1F<0@:&RRH.37_5)M*\"<W39DEO<MX00-L["OO;."S;%]2V!K3F
MV>R\MD'XY>MG',]P8')R# ,APT+&D_!UO?2'<4;GXGE6KDT'XKMQG08A>I3]
M!FKT'UQ]-AZ?A]%-$WLXR0.7;5)*>\!8[YMI,R.WNE:U.V]83)7*W89%[O#0
MI\V IB+>P(7^ Z;/SJIE].Q+&(ZJ753=\/QF_/\1^&$98EY93@/#M3;&)-K?
M$H)*)H#+M+]A<24408ZZ[39":0\0I\J5!BK8P)T'!TVW U]!7JY@*W#RW -R
MZ\"74*=S8H&HN"%G+J .6A>[/HAM%^YT W&JW&F@@@W<V2]D>B?PJ_N!7W'^
M#@GW_]2?+ARW@43GD_8,9$EUJK*4M0S-@U"(2=+&R;W>GSAW(#AUUO0E_ V4
MZ3\">QOU0/GL;<H,N-"%:)T\.&G%PGVW,3')PAZGTJWG?3=TV$FP&Y3??[3U
MS1><YFDH\VL18:^DL%)KD*E>/J/AM="$_N!&96?02/7P[6'# T]4_?N*=H/^
M^X^X7F;&OL-_G0^GBXC+@%EBJ+<*?'*Q3AD5$*3-$"S/42EC4#S\$O_V\TY4
M^WL*=H/R]XN*WN%-?:-G8<Z7;!QP5M,'K$!PE:@:N6*!+)VDX\/W_;6GG:CB
M]Q+J!K4_.'ZY%>&6..L*K^3<22D,\.@T5%Z"XW1&<9.5SI)\:?MPM^+N9Y\H
M)7H4^(9DK[UCG*L!M&]*E<8O7^?#\<?SX>S357'Y0&83C+5DJ;)2.W"R4B,K
M#DRV9,QFDI%JU,3W/FA/FS%M-+"!(WLWC+FY:B+OTC$>*"R6:Z$A64,&C:\7
M?<[2^ID.SC$6R*<Y0!K7%:#3X$,?TM[ @KT;R/QC.IS3[E8J3PM.IS<#\Y6I
M V&QF" #,"DRJ(@.HK*DOFA8%,8*NU[;WQ,A[L=V&MSH60<;:-)S&NCEO,E4
MZ)@S EBMA582-40>"WBON2"?2) ;?("-XJ"-<=MO#;O+]K$TOETSFFMY;DC>
M)Y,SX&+,<0JT@JC)+$K$7J%%B>MI%WUUDKB%Y5A=!?;6[GK7B/VDW*#SW$U$
MEXTQNF!JVJ%V$ZKCM*3=5V-W$F /<1^*"L[*[+07X%3BY QQ\I9##E"L$TXD
MSZ-NTV/V<!2XIZGL(1BPBY0;:/X=?IF,OM2$PILQLV5QM^;!%>T-Z!QS+;Q4
MX% PR$I@<G1$YMAF_.Z=L YO/>ZON5MSN_L2>X-ZUYM'WX+VW@9R=YD#%)J!
MPHQD)UD#4009B\5(;\4!;,93,@CVE'*#IJ1KU=CA;-4MJPNNID;!-F3',0SV
MU=R=1-A3[ V.B*WX>.',&-J<2O:\]M/2$&Q1$&O*']>FB-RFW]QAZ7"/D7 H
M-NPB[;X+V*^NS=<.*A9BTJ[F?";MZ:#2@A8J"V0RAXPPL83UD7);+BBV/.#8
M<:*'BG_2L^SZ;AK_K4QDMH;*,,PYH@$IG +%G(4@@X-B#"M:2N]SMWO'K8\X
M!9WV([^^W])GY[/Y<+P&2"II+6*&HIBL_0LD>$Y&:X@ARYR\Q/7J[BT*W?3I
MIZ#+O:76=]>'):"-CH&R0<M 9Z*HD4H5%+D<&#S8**PSF:L2NHUWV/Z,TU'I
MWA)LT)9A5?Q=BZX6IH(+TA:!A =YK!<$A?!$"8QV$1]ME(FWN:191W(J;M5>
M$FZL\57@H .BIN[4;4S'<:3VT]4=BM]#T"U&O-Q&5BP3FNL$TBA#%B!&<#8:
MR!D%*BE2R&TF5AY*]?<X3:TUOXM\&VC\]62<:W/P.4YC&/_S32E(AU'%]_K5
MSV_>K8R,$AV9A37_S,I:49G LYS FAC(Y&!"RC:-=SK!.[PAL*\>UZM8>U="
MWV[8/\)H]'X^19S_U^1\.@ZC_SW\^ EG\[=3>I$JT%6_ZF!X$HQ.0<L=.16\
M5KDX"?2=($]$F*Y% !T?^&15WTRJ;?:(CT3-LVH 78THM,X)8R*#(LGN5='3
M-N@=!Q]\$ASK:(%&W2,WH#D5DW!O2;>8S[.&Z9+T75 U-0TWXSJ.>;B_WNXA
MPAY"/\"&<(F.I9*8TP*446597!^T4. M1V65S4:TN7H[)!7N,1</Q81=9-TB
M#6,R_H+3^9 VO KL\ISB1FKFN02>)%_V:0_)!S)3$H^HZ1AD;>:\;81S>-N@
M#UW='N&SIZ"WFH*-6MDO#1J<?AF.1OCKA*RD_7K9;_V\7IO9=T.]ULU>%^ZL
M01Z,EBI;&:7TW >KK0^*ISBX\Y/;M+-7(A7+"X+$0EX"@:JU8@@V9R^=\XCZ
M$%>=5X!Z+B((:977'CUZ;Z.#'&)M%U8"!),+&":<<#H4%]IL-ML0'3L>_3 .
MW%-&\#!Y-T_UN=[F9SA;-%888%:17CH!47)-_C%:VF85;;.2IR*M9RH<(EM\
M [139,:^&FA@E+R=3A)BGKTD<:QJ&Y;540,ROI0.PH&.B.1!&P8Q95J\"3:7
MH*)NU#EZ.Z;3($5/,F^2([:L='DY'*^*7&9_G4YFLX%QUD7#'00?>4U:S. Y
MK\/V,#FRK#QKU(=O*Z33X$(_$C]NB_FH3,!@&3#!?.T29VM3XUIY;Z1,FA>I
M#C$-Z&FTF._O-.E-)VU;S+^=XN=EV2U]=38\/UN58^=2>$GDTV$LNGKX",$I
M#5JDA+9P+[*[S]G9X7E/FP*M!-MWZ_D*\1NPRWD]UWAI9'1** ,F%08J6227
M/B%$P6(P**/?8;[ '0\Z$6WW)<J^&\K?7.S[\_C?F.8?)G\+XUS_V<4[S'CV
MN0K\$O>JL%H+])EL7"&E 95+!%_G*:=@4E:88UB?Q-CIG>\,X$1HT5KT??>@
MOXGYW?#C)T*\,'TVP%X-BEN:1F$TH\-,EJBT!BZ#(*NX>(B.<Q JVI2++5J:
M![!F5QPG1YZFBNB[W7P- [X-%]>ZW],F^&J<IAAF^.(<+]=!.-^4;VMXL_AS
M(".2S*HY5,<+*N$8!&4$&+*3I+&<=L]NJ97[H#@!_AQ,"0WZR]\4QO,PG5X,
MQQ\O=\<B+!>UT4O*) Q5F(# 48,(RCLM"H9XB!*XFZB>-F%ZEWN+OO/W!N@N
M;>MGXUOM/V:_XGS =3:N=A;$&"V0TZ7)_DH%'!-6HK ,]2%\WYV!GR*UVFJO
M]];V:][<K>WT%1V\H^&,_/H:*'R/Z7PZG%_\\C5]JF.^!SHPLO^9!*MK_OSB
MS4F6J$*O3JP]^PU_B%&T*XZG3:1#*Z+/GOAW)521NV]U48KH;/S24/-<.SIO
MO<W(R/HO;3+-'F$7H/XVF-UE^UBZ &TH8TTEAFB8(@?0U0R+VB UDI30\6!L
MX<3C-EV 'G?1_T[:O;_H?Q<I'[*ZNPNN[[OH?R?-=2WS?HC8#TD+)Y56)AJP
MKL[HD(2TSGZ"9)634<2LU2$21!Y?T7\3-NPB[;[+B6^E6+T]GY)!,\-G'^DO
M%A'G9=X<>6%.B!1 :,- D7T,(1L+$7WAV21Y*T-UBYW9]8G'MB@?JJ!):^DV
MSQ#Z%K%9CGM:,A^3S;((X*DVN40O(11=)TXJ[^FMT-:U*6:[']MIV@U[:Z%Y
M\Z!UA*O#K0/& ]H4FU$^!OMB?PWO1* ]U-/<]MB"E8Z.Q%4=V9.=()]:%HAT
MPH+R@DG)ZN#!-H7SQZ/03C;)<1BTBU8.SIPWXU7I7V!>+^:^I*+JQ7@QX(P1
M@"HDA2IZ)0X1_-@*\-@&3A_:W8D^#U/-P<V=#[]/KLJ&5;3&%. <8VT0(X#>
M( 6,Q5JH$*42Q[!YK@!^=PQZF&JV[D&-RGC>OGW[>A+&>Q;OK'U*KR4[=R%<
M*]1)1L1B%0]T?*B@=(A2B)R,,U9P']1@P^>U*<_AC"5NI0/'"ZG<& ,AE (R
M2I:\44:X0P0E7O=5GG,]_[M*[\UT^'$X#E6O,SZ0SO"251V[;NOLB:+!9YW
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
M5]OQ.4X5L)P5I^A-=J)3\<TY"G^/ VE,V?=A;R.9_SI?8 K+JS28$EB16D5
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
M0[7W:(/3V5]_7K5>"%ZS&IJ$).D/1?20U< 26+HHN&12)&LZO9(/+O6\8=%
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
MR;/BL9/ ;G_NXY;7$3P:\(!EG$[>XL=PL?$A;:X.89PB]0,BW1UT=3@&(6&
M++@*4@@MO+WGEKTJ@J*/7E^P_UO5+V'SY5J6=RSZ]+6S8SD]H,U92=E0<?7B
M=Z"C@]+53?(W5QY7M3I:!/,!^3?P(;Y%3Q!99^XBZ%CO?HREUG,E0*55*IBD
MP/O:%)V+'/=H0\W$V(=M0RLY_QT^X_+#Y8=/](1__/3K9>4 W3C_?OOVY^T+
M$3SG1=$S;GF.]*"36N=S$>!X<CHEH=!V"[,\N-1X#^MQ(I@WX]_0"M%/B^G%
MQ33,5G^NZ!5Y77V.7Q;3);Z9I?^ZTM=B1BZBW<R+4BQE\#9H\)*4"L^$B+F;
M5OOP6H]1O@-S<' ;16^];\O?+N8Q7+S*7Z?+^>*J!8J3H6A,"#P9PAZS%IRU
MA:3GDZ)[BJO=L=?[3)9[UWF,@AV0<T./H_Y.VNMUML/K4J9IBC/Z__*GO]^\
M7>4MD3QX>G*X!EVGL-?4A3JXCQ10TMV+=\X)T2U;O^N*CUO0 W)SZ J<_X6?
M_H73GS_A5>!H8EU19(3%6FA?FYDG!EYS 06C4SZ3\:>[M?7ZX:,?HQ"/X\^
MA33K[@C7QMOK_WU)F_L7KC[-\YO95URN*M!^_"YBS2];:XS<BBRD1Y".-J[H
M(JGJ@ 97,Y!4;9^@.OD2N_5S.8+2IV\:CRK+ 6^,2O<^NJZZJ76@;/#V4??3
M=((>4J/)=MY4, /WFGJ 0I^*,-(5,-G61GR^0.!"US8ONC@R67+RCQHR]W6=
M.D/$])''T.;%K].O>*T];?6FU:[>E*RSD;D -N92<^03..$=&*LQ"I.(QFX6
M9)?5QNV#-*1HYBWY.J#CH.[[.DUI VPIB_"U?-60EJ6<%63@T@/+D*A 6VS"
M3M4AG6Z$6TL_#QWD<&X/K-A>$W+U6'4@97 M8H>(\=6&(\1QEU"/X.7 #_\/
M)!%"<V8:E++KLF4%SI< A@Q=(XQ Q1J<ZQ,][8VDVH.%0S_.5Y'<6YWUOC\?
MUG!C#?-U[H;8-!0)SF<P@:.)"<D^[O8LW[_.N _R4?R_*PP^ //&+-&Z>IC>
MO+GZ:E[^#A>7FPW,\O][&2ZFY=MT]O%56G?*/*9XZ_#%!BOK&FB_.P5?V6M>
M3[H+(BH2IA>.R<*,BUEHF\+D\&4/OYVO/__5G9\_7=8<W,L%OKU.)RY,*6U+
MAN#15_53D/I92LVWJ;ZTY -VJB#H='_W)N_8/+Q_S;_BIFO2]Z4O+N;_";.$
MM7_\>USB@E3R]_.+BU\W,X<GBLD8BS)0T/@:BF%T@!6OK44-FB(":>Q-$O4.
M(';<B[,MNG8S^5K+KD'AV/V$_A0NZK<FM&^IDC; 4V6*\Z3BBZ!K,%?('%UL
M5?C0B;SQ,].:"WK>6DH-,HCO)_+G3V'Q$7.=;;!<T?=?__.%U%><2&L],ZQ.
M0Z[A)ZY)^4!DP"66G!&EW-771H'6'G*?.]2&D&*#<J[[B?X%ZWR4ZKZ8N$@,
ML)$!G8OUL!L#SH1 ]SQS5CMTSMR7;-D*;=\I?.X .U!6 X:9^MVY6MA24!0H
MSM5F_$4#L<""*-[2CV2=Q',N+V,;Q7SC!+3.L&0#AZ(C\<&1^>AY,J"+BE)'
M;T2W5CJ#*N6CE$&.IV:VE<JYU$'>#^P/]"EK5Q8I.BB<C"!DJ"X037J.YYQT
MGZ \%UZ%TJ8&LAM]8[OP&V.CUQU^D(Q&5TBWKK0N-#:M@.Q"Y6EJ(EM(N9\R
M<+B(3@4G]%GXS"5X2=(F&TQ!C-&!3<Q)2Q=[4IU&%C\B&#U017DN*.HCF0;H
MN2:-=.C-G(7:8'?K=]>%2R.EJNTO-*@ZY\^7F$"RC"D:AR6R)JBYCZKQ39'A
MY3AO)(0&GKB::#&C7_EVS87MQJ_(<QB*]34UN_;G([T1O-7T7@<GO6>UBWX;
MA><!PIX@3(84Q2@/46W-77"QJ--"_WFU7.+U-%B?;.+>D4'JBP'ET=7!/PZ2
M3T9F4O5P-,_M7B*?(():B6BO[VQ/T'7[[?I'#$O\?_ZO_Q]02P,$%     @
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
MH#!*Y(.#Y!H;DCAV841<-Z*QYS!DY,_:T=?<[.NMJ"#=D]7TQ/<RM+KGO%8
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
ML1>1$#&7>-KKS &"S,WNJ:4%>%L#O8X_R];@G[O\#+@1WF!E-62L-):N$XW
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
M)R3&PG&T3W0G$7EN+-4J#4K\'>!*[07(MF[V*^5F3_=5ESQ6*P]PJSW 2GV
M=_I7M=3NWH(& B Q *L=" 9'HM,\1QJGT[-[.D9?0S8/AE2XKJE4+$!7_(4T
MZYH'8ZLXJ#0'>ZJK&J#'#\:G&3\8!H?MLWM )CJMG]>#8G;T/^F8=?H.3"/)
M=,X'DR)[X+TP;<]]LB6>Y"&_76_3X'&?QJZ/(*,J82).'!BCR(>.\ 7A B64
M)/JI$R]W-#<S9.LF^Z1D78#JX YD:Z/$BAVX:DSPEM :>5H^6SI!"MHK!6/7
M@VB0C]$.<!--5U^^<2#2O"@!/WCFZD?N1ULY&Z]CTIW L>/^";,Y7M?B,+6C
MQO6O$[BSYX+<Q 0FH8O"Q(]@',4Q1(A0* G6A<AEQ(UH2*((+Y^J4__[$N>E
MWKZ4=3E-WJ!C:<=[B?;$5*5U"7](UVOU0:[[:BE>+_SS=*BY*^*0,@0]+_:@
MG$Y]2 AB,*0"^0'Q(Y]$S5"_7[,_S4"WLDXVS'S-YCG >GN?KSID(YL%-J.=
M#@*:YA;?>W$0YN&E=U'*/X<[WC60;0<,7>ZHQ[KJX_I9-I_E+VKSNC[7X@7/
MGWGQ.<^>4W58WE0R6;+0B^(DB6 08SDC8*S28%&F$M4X(B(D8%BK>HAAOW-;
M=35B&2P9###66'*-@]S(5+L5&FRE!JW8"[ 5'/S0B*XY.QH_POH+M'%@GFB]
M9@]NLQ6<.6B="SJ#YJ9;WYGK>+#<ZW%[7[_I$J=KSM[C7*TRBF:/(HP("CGQ
M8<1B E% 5!V]A$,G9G[@QQ2SR-!W^EPW,R3MS>.F3L/WCHN4II==]TS0U#.B
MAV,T,CVW H)6PA%J '2#8-FQ^FQ7$SM7=ZE[ZF#=>74_!OBXICF71N0[7O_[
M<?TYYRJ.N=WM5Q'GZT*53J\B..J=_V5((H?16 $;(KGRYUBN_),0NK[OL2 *
MD$.2Y9H_5%60](FBGS1:+TE2OR0G,HWJ=%,%A*OL%ED5R%6[ 9B12L\!TB.=
M$?&>RF:L!0<_M"K\M8J,:Z!OQ*^&H(ZEN^D> F/&&H:@54;K*<JDC#<,KF-&
M'-A:_["475Q;57H\(DD4>#B C/JQ9$/'ARK^&3H1<1SAA3Z)M0X7+W<Q-UNI
M"H38B=BK"/P9(/58:Q@\(S.2(3*]8D#.*V\]TN.HF\GC.<ZK>2YJX\*5/8LS
ML"I8JFC#V#YGJY2^?.'?RS=2PM^759Y2Y,F%D5P,0>1&",:ALH(X07)AY+MA
M;+0ZNM+?W%[]/7&K='"27PU-FFL Z[& 1=A&IH1]Q)2HX&LM*U#"@DI:FQ4@
M]'"Q6Q+B2I_3UHC0 ^"D:(3F;58<DSZDSZU#B.-Z&$4H@D&$I?% 0P:)$[DP
M#@02(<6A<-P!GDF[GN9&).==DX24=Y"KS1ZT&COEM@ ;F4+.>B<I2>VX)^UA
M-L@_J1]V4U6/O83A:*Y)IW 8^B;M-?":SDFG>ESQ3CIS0]_%UM;G]%.*B:K
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
MUUH]3[LE;0+&R3:ST<V]EP:2XZ@R =[Q9[[*GM3RH\GJ\#E;I?1ER:,@0)Y
MT&5,SM->&$FV$C%TPC 2.,0B,JNVI]'GW&;I]OUA.WF-UP)7<=9>#MA$;_P5
M025MM138D[?-ZK( M<C@:_.O5>?Z'IC97BQ<[7?J]8(N$&>6#-JW]DDXF*[Y
MK:AS:7_ 5+E2O-2%;6^><;I2<9#5<=KMNO;/3SEKW?.7)/!\)V N1(+ZJ@R*
M#W'(0SDJ* E<3)S(-4@_V%^0N;%64Q@8MW*#S5J.!A"-5J ^#\_6X)^M)KN,
M_3FG7*X&Y5TFF?0&#*+&OO=$0S,R)2HME$';)/1O%=G6<=[J BIEP.T:;-4Q
M#! ;/"@FR0ZG&9RI4A^..DB&F1"'(]N=%W% ^Q-F21R.PF'.1 OM]9CGMH$?
M;9_-@93/Y2SE(0*9HZKS)91#$C$JC6S*(Y<''HU\[3GL0B=SFY]V@4FMG :T
M=@E(C7G$ CPCSQ&GR/0Y$+T$D0&K6X!J(L8V>)C,Z/<*!)W4>NG>Z6CSBO0'
ME'CMVAYT]W:%B^)6-'L7MWF5JJOY5*@DDIQ]SE.J<IQ43G%+)_&YF_@(.B)@
M$!&!8,+B& 8A)Q@+G(A8:[.A5^]S(\C/LJ%O*A[I24E9N1ZS;+7">:&V0FLW
M9$TOY'ZCH4&F8V(\,LM6HBOWAT9<<)O7Z0$7[3<%J#58@$H'E6VI=A,>$W0#
M>AX3_(EX>XQ!,"/XOB!V,K]QH]--"7WU/9@K>C?2;Y_Z<YX]IX5\$#]D^;NF
MO.!VE>J(D(6)XT-*D*^R)6!(W$A.(7$2!#B**/&-XENZ.IO=%-'*>J'RHND^
MCA;@>CO5MF <>1;8YGBYVT)U6&VQV>,$/]SQ9SFB>'5YRC7>F=;!R.J6=&>'
MD^Y%ZZA^O FM=4_?(%Q2?ERKA+%JTGLKF:Q* 5/M"$C*BS 120@%]BE$7A##
MQ/'D#X_%..8A0:YA*.[ESN;&,%]4LO!M%.[+HBILD G TH+6^\MK!D2ZQFNJ
M7"<$-X_3[4!>CVILX3GVUF^V?H!RS!ZK$@?6L^7IH& Y8K>CPXGC=J^K?AJ]
MJW&/#3+9Y>?\7#FP?/DC:P,O2" 89Q3&24*5(Q""F&)U<A4S*B+7#;E6X(5A
MOW.CF+K@QU;NQ5ZZVBK#K90=2.&'T,KE,>C#,%:0'9EL-$$=(2F4(58C4M+E
MOE^1G:X"TDU4UV\WXRS&T^7[=2FG]G]D*TE].'_YD*[D6[]$"7:)1S ,J9]
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
M4D:HCX2 (4Y<:;]P!\9<.:5@W_,3Y'B&!2.[NYL?7S32UIDA =Y*6KE>UC6
M#/TMKP"NRQNV8!R=/5H$*TD7=:1Q 7;"VB01'5 L4TEGEQ,3BH[ZI[2B==?
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
MQ=1,UJ?UZMO<5C<HIT]AT(=/YC?VVK&]<\P+(\A&;6N,>K,MGP'9S4A=!]W
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
M$J*,6I(!FD/$E+(^"\F9$\G Q1ZF9D@J :O[G-[<^D?@N9F(JR 9V"CLHS%
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
M:1[9T]C\T6:V-FJ#2F_[<*UY\_#-7E+LAZX/HD?6VRC#%#B3;EB91\[.&V4
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
M2PB%*J&YEB**-8EF&\L[.!JNN]Z&0_67?5A_!<_KU;=Y>0QJ&4'"H^RV/@?
M;N!EM$[Y-R*"6D;0(!FPN%T'#@/D_)_V]0HY_Q<5/I_S?_GQ?K;W5HC5BUD0
M/BNAYN7EPM_5YNYEO;:IDC%'$J6)S>RUA6VC3$#&XA02QK2669*DV&N[T=;9
MU+8&#VLF%6"UQ&"]%?D&+%11 +:[GK;2X-]B5)Y _QNY,8\6STILYM_4PI&_
MVFDPW*Q)*(@'-BF-F.#S'JY,FX'=W?LKK?+=6DECL"TES@VH]0AG<US0"FIX
M6CL<U?JXJ'YL@IS>\4]AO37NI[0NZ/L%>YQ)FLI<I1AB:D^-8YI +H1Q HTM
MXIC'-&=.?'<G+4_-PFR% U8Z]V350[C:S<)5( QM ]ST]TI+/:MK[WS4P]9&
M2T0]J\1^!NKY!WI7)%M*L_/[M%[9*[E_,KM+W/PT4WW]PA:?UDK]F)<%5HW_
ML;;'KV]5];^S-,%,81Q!HK PW@$WFX@LU9!+:39NC'")O'B!>DLRN8DM_\]+
ML:F"2YL5:,0&WRN-O+GP^P^18X1P#."'#O75.H!:"=!H 6HU;D C/?BED?_7
MTL784[!YJVV(^A0_NP[>T 71>DHS=I&TZT [4SCMR@:OK/A8E6BS ;G5TIJ&
M6]/?+&+2F,N<0(JR'"*M,.1IGL%,4ZIS)+6.O9+[6WN;FIVL"P[NA 1_63'[
M5G,\"["S!0P#V\!6SANQ_I4:VY 8ID+CV1Y?IS)CF_(7*S*VOM27V.>!_?@@
M36MS/1=E%/_WES(A!>692"G/H4HDAHA3"CF/&)1,))&Q('$>:3^&GPL]3<YH
M5*0V-AAY*"ZHY/4E_;D$</>^*AAL0QN-OHCU( 3J0.-*9J!+K8],$=2AY"E7
M4-<+_3R+WU;?2KOS8=F>:VEOQKY?K>WQWDQI142:(YC')(5(FNT:2S(,M41Q
MDAC+(957,8$>,DS-H)Q-0V[TLB?]G2G)X"^K'JCU\W1?^HRBFU,S\-@,O:$;
M;5B\?:0K@ WJ.?618U1_Z@J@CKVL:YKR][W>UDFX[^>%,)O#\@+$>_.[8B8I
M-ALTPF F[<EY3"/(26K\+LVS/-942N+,K'BQEZF9R$904$E:WWT"I:SN_M9E
M4+M]K2!0#6RQ>J'DY6-UHM#;O[K<\FB^5:=R^WY5]\,]C\.+0FV*YLA5,,%3
MI#A,6$2A^4%#2E,%A=8Y2[40*H]]KLD<M#ZURS%5F5%1"0=8*:KG\?4!>([G
MU7TA&?IPJI1KB"/G<PJ'/6,^Z&'<0^5SRIV<(I]]J-]\_:A,8VI;/^=B?N!,
M93KG3"*8(5Y>9:&0:,(A2:(,)2I#49[[3&77CJ<YR_6+O=L)7I;2V$][I*]D
M76"XIJ?VG/G.P^!F%(8 =V![48E\LU=7[#0]>;,"7(%/;!Z0,\$7JJ"6QKGS
M48V0+R3']LG[_3[,57OYS)_MQ>I[_4>A2LMX*XQK\[*PM;[>JN>U$A7!WTP2
MG.+(#$*N20Y1QHP%8S8!*-*892K-LRR?+=6C??'!E=_*6PRG*4>K*7<BS(#+
M]2X$8(]TY9[$/LQ/_J/2;M"&!/E5R!9*^>&]AD8#4*IP _:4 &]' ]Z'D6O0
M 1B+L&N @? D]^H-8SOWEW^S(U*#]=;YD#FL?S.A2KF9=MZNGMA\.<,4<X44
M@8I0 I$0#!))(I@+D8L<)Y)R+UJ>EKZF%L@Z4Z[,"@O^JL2]NK3;#F0W1S<0
M= .O ;U1"U#J[02/@>N][?I[Y:)O)XIW5WX[?2543DC-@JEDFE!,-22<&A<T
MB7/(%(U@S!-.<1)3E'O=^+S4T=3,QNUI%LBUB1U.?*LA<1HZ7G::T-'-O1H@
M7^,<R>A@N1IC,I.ZJMR=HQ&$J?0+6ZA[71)RV'I']_IAS98%*SF<&[\B-@9
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
M-UR?.=XBQT!O#]8ZACYCJ+Y](T@[7YJM\NT>2QK32,>N"D8HT_%L+A%D:5;
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
MU;*J9B3#(C:),84TJ8$<)9#*(H$L8T5&J,!9XJZ-Y=?&J5%+;:(4X+=RT4A
M5_\8((#EN1_M*.J5>R<PSWF0O&K]O &-I^8P6..K^8WVUK/659BN\"]RY=G.
M\=6MP@!]4M8J4%,#APS^4XK-W Q"+R),4Z.8ZYGS^W*^,0=53<!IXH Z#)C1
M0DA%]8@@N-E1C<V.2<XI+!0E@G-":.Q4;7Z@'5.C_LZ-.IPZFGS=U(7'>;V2
MU+KC.# ,["U+\@_?!Z$)WA7^=CH<)L"]$D^_+#W0EG&9^#K CMCVRL>YGPQ^
MWVZ'O5DL-G3>I*O.HMRL\T4%3'D:0T3TE!KSC, D)REBB.1*%K;'@T\U,#4.
M[&P$C9%M]K3]2>&3(/8SF ]H E.3(RI.)X?[7!]\?/CD0T<[0]SGTOY!XM[K
MK@Z)'A[GRV<IO\O54\GEF>AM/F]/,9O,4[Z\7Y3_K8.W.D(SFP_5;AC6<VE.
M"<E@$O,,(HDBR&210X:S7"E,598,#9K\6CHU2OF^>7B@JV<SK)NU4;YN4ZXW
M<[/.K1J]8?CV:&(W.+KRW/'.\=?K=>>(4_#MU'HW_[EISM"9OYHH[1U]+-=T
M;ORZ 6\>3!&TL2*V,#T0*J;S;.UK17UA0.^)"P,UZ'[*X#N7"ZJ?^'&YDIQ6
MZ_:P+%$Q5EARF$<DU[%CJB#EJ30C!D_2."IP9+5]?+Z)R5%]:^4-4*V=]@<.
MSH#8S[Y^H E,FYUAEP]B.QT]Z/?[ZN,'9QX_VA&$?O?VCR%<N-)])OA=\LVJ
M7#_'";LSY1UG F693/3<+\V$B?TB##%#*:0,%SF/N8JPU1&$4P^?VC=<&V7B
MLCCYC?T#=.;:3P&/T+L\_;L&D\ ?KRL<3G._<WX/GO<=/7"T.=\Y5_;G>V>O
M&3;7:[4+.4$<98K 1-(4HI0QR+@H()8HX4020E#N4GG!7<=PC"()C4@%[=<L
M[(/);AHS.1%'WRJ- 7487T-IL5]+\2JU1#.T&@GJ]?,_Y?KG4AA9HVHMY5Z1
M]5@J)$B>0\69@BB6#!(I<YAD-)%Q2I4L,ML(M[^IJ8V2C87-K'=@+?L+V%X.
M?/TA%O@;=@?+*1"VP^'J@/A",Z,%QG;N[@?(EG<,+&VANWKOM8T4(=SH-E,<
M"3T:Y[Q6CH=9K$3*$H)CY50+]/#Q4Z,!8]V0[_\,>'9C]'!( G_G#FBX%Y@X
MZ;3?6A*'38Q;-N*D>T<5(DY?->S#W2NO5J^=56\VFB!69GULIE)$4,0*F!8J
MT@,[$Y"(3.A_QHKI$3Z))9H]R15;VG['/:VYO,'[;89[D=_MU<$$=&OH\*3
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
MF'K+OYJR(NW>E$HIE84L(,-&?D[E>E2)> Y%@02.8T%91ES8S*'MJ='9UG1
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
MK5?RIPY.RR?Y:<&7#_*+U#'I'?TU2_-41WD%AFDD*42Y)C<:B1RR#(DBR8C
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
M=[:W:\05T %%9_ZNA.<5&AE.?6,7I(5"/# C^P7;/;EF &I^,VM<#!@WK68
M-$<Y-4.>,2 @- ]YD4C]_&:QV-#Y1VFJO9H@=,83BM.$,!B)*(.(Z*DD-O\C
M6,:SB"/!:&H=&MJT.#5B:^P#2EJN*]E#:Q$?^@8L,"_5;'-T0N+Y!K0@:J/K
MG#_N5J7/"DV'Z-$WJB/%D5[0=0LM79#J#3*M'C1>N.GBUT'@Z73CX+7]S<.F
M5ERZ7?^4JQ.5!CKU0\8%BY("%ECJ:;M*C7@&(9!JZ*-(,1'3PG&YWZ[ER7'T
MSG!06PX.:VI\=JX]8M\)UAL%_J$-O7=P^^[3F9HC'K48!R/D>V?!LO6Q-QO<
M0#FQ_^#X@,$G4E9FV_.];/[[:?%I\:1?E.6J.?9,12Y%"DFD,$1)GD$6*063
M@N48\TCR#,T6\MZ8:3E5[FO/ZALBS3>TWVK "=O...>C)3VX6DYRK\9JM&,C
MM7W@M\[2?X!R 6RP&W(^Y#(FOD^#]+0X]MF/R\Z?..EA<9.G:>B[Y=QPUHK.
M_TD7M$E$WXOU:<:*0J4ZYL$B@8@R/2F-!(&X(#(5-$UY8:\5YM[^U,*?G;7@
M86NNAQGKA5X8.'_UA^UKS6;W\-ZYX'-R>P'X*Z>Z_CK@M2>^5W3$]?-@.QB=
M9\47'ONZ<V0[GR_.F"T?,S@[IM/V^:K!EZM5>PRDG;!12:F*>0JQ20:NS_E1
M4>A@5,2$9I*SF.6.&3)][4UOL-@)8VWM;<YP.:?(].)L%YQZ1"_P<- #7(#I
ML"4NOI-F>ML<.W'&!H 3R3-6MPVN]/NP7-3/:T3%;C?K:DT7HES<SR*3=<N4
M@"F5!*(8,\B(Q#!.=9B:F8)W)'*KR=;7G,N7,4Y1ML9:4!ES;UI51+#<6>Q<
M_?<\U+;<X@>^X,12X_:]P:V3,[RU &Y(A=^+B/@N\7N^P;%K_%YT_421W\OW
M##PY:@K7EF9![D6R7Q>E)(JH/,=0<*[GN0DU4]P"PRQ&(N*$9S@B3H=#^]N;
M6I32F0N.$U0=CWE>P-F.23RB%YA,>H +$*58XN+WL.6%-L<]3VD'P-&12<O;
MAD8IU?I6_;%<BNK-0GR7JZ>2R^K[<BYF,J(I5T4.J4*YGOSD!<1YJB#+98J2
M(B,)<J*5\TU-C5&,I>9H8T7GKHOP/7C:!B(^4 H>AC0 U6;6&A^=H<!8ZC,(
MN82&YQ#D;',C!R"7W#X./R[>X:%F=ZV74>\0[BHTOF'Z LK7,ZSR-,D+#6I&
M.$0\H1 KQ6&BPY*<I8@Q:G4RP+GEJ=''8<WD1@&G23C8V0[^[*QWKOYFVQ]V
M?!,$Y<#TXPO@ZZI4VX 5KF9U;^NO5\':!I3>>M96#W"C,B'+V?MV^Z%1>?^P
M$.]U$[."257P',$TC:F>.24,4L1S&*>8I#(B111;K>^>;6%JU-09V59$ -I,
M8.RTXZ#S0/9SC1=X G.*,S+6Y''1^Q,D44G^^_WRZ7_J>VM^^"]D?H3-CS4I
MG'_J*!__1:>ZC_SRA0/R +Y)+LLGDV=6=?M$W<&PB&$>F<T:+#*(4$HAC:21
M-2AP&C,4L<)***N_F:E]UGN&;K<\'?:5S\/9_UW[ REXP'",SY 3B3WOG?T^
MNQ? 1MI.=WJQW/;)+\+0NQU^_N[Q=KTO>G"PN7WY:O>HYL-B;;;(ZV6A^:>%
MD+_^?_D\RY,XSSB)8$R4@(BF I(TRV&1:5(LB,2$6T<U)UN8&OTU1H+62E";
M";2=]E'-:2 O1S57PQ.8^)R1<8IJ>KT?'-6<?NIH44VO4_M13?^%ON1:Y(+_
M?*"K_[Q?/M!R,<MI%"N5*1BQ7$(4$089P_I3SR2+.4XSGCG)-EUJ<&J?^HFM
MBJW%X,_&YJOU6UY@;KMPZP_)X,NWUX#H0=#E-#*!55U>-/K*TBZG(;BL[W+F
MOFLUB?_WAJ[T]SM_;H3I2L-H:KEZ.*5H*PB.4BH+J!*LXPLE$LB*5,%413*-
M4BRI<-MO'F+%U(AI7R=SZP;8^F'6$NA0U6&7SK$CJ^"0!V:P4PCOV3V2I/
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
M,"\B+75S4QN(#F19Y%9!A*[K$B6>Y%D:H.W6'?S!%WKAM4^"Y0;4YHZ@N'(
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
MO:J&LH?.&*7FC%PL'TPQH*N+*I\#VFXJ$ "^T%1^5'+Y!KS=OKRMW:-48;Z
M5="BS.?:?M4:S1< N52R^=+M(^]G&MVE]?/NM']5*SK?_:2+-@S^LEP\U><A
M7P3!?YC$EO=T+;?KY-^6\_G'Y<H\=<8*A&B1$\AS2?1XQ BD<4HAR>-$1I1'
MHG!?S9F.?U,CVJ-)>6T],.;O[:R-M'4:Z)4*O-_Z^B_*]%>$&HSV-%PJT)0\
M6&N8=NM%6Z1.K!:=?#&##&03?1.FL2T<R,>_QUYRV [VM@$=V,R!$U*ES.'=
MKL[#'?WU33=D%L+*Q4;'.;=ZUE4[6,T(SFDA50$%Y@@B*4P!(:P@QWJ2FE"9
M,I[.UF9CUW(29-VTT_"\-2!@--]9;@2,3368-?T%5H8#C4SP@I?S<L ^MD-7
M6$Z3@@ <>J:TQ;:MM*/-!L9N\.T VQLSE>)>SO,/Q\OO;,F^^7$G3,ZP',V9
MW)\P4"?6,.AJ;336O^JND4:H_+M),JD9N?ID]/W$C\?EHKFP,@H8F*=",<J@
MDFD.44%S2"-!8:)_3 FG)"5N*K'N-DQM^M&>I:G3<QI11 $VCT8QOG.H_1O?
MNC!<.&Q(G]GQ7^">"$R$>]:#K?F@MO^F">HK\&FO;W9.>!2*'8Z@7YG8 7:,
M*Q(['*@CB=@K'C6D3$VYD+?JG6ZD7'^D9GA=/_^S7)0/FX=OIJ;%JHYI9S@I
M5%ID#/(HEQ#I5Q82JG*8"48*Q+2=F97VHD.;4V/%UD+ EJO5\B^S#[?:&>M2
M:,4.\7Z."X1C8$XS!H-;!1J306?S#>BP_18249?B-=Z1'4D RPO"CH5,G+#J
M+V5B]Z@1BYDX^798SL3MU@'4?:M4]7.YDM\WCX_S4JZZHB:2J2Q*$CV(FB.B
M*DL@CB(&14PE3_-<T1A94_7I-J9&S9V5H#/3@3S.H&A!O]=C$YANCV"Y?"C<
M&A\',KT>IY'(T_XU<F/(?@!Z&?',K>,Q8+_M!XQWX5(WAJM6:QT*FY)=JT=S
M2O2+[K<WO\IJQM,,98@FAL^HGJ^G*<22*)A1'&=IFA646-5L.M? U+AMWT9@
MC 1_&C,M/^&S,/;SFP]P@L^/'7&Q_F8O.=\WM=7W[DUK];]>3FG//GR43_J2
M:]WW?/&Z*T4]S2Y&3>;?9"573[*:)3*F!<H+F$9,1RU99#0MHA0*1%(9(<6Y
MC&<+>6_.RMP-T/<\:M'J52;-JWS4;KC7NC6O+E,H?W%953=@R2IMQ5K>U-E"
MU7SY%WQ8/M4%&UOW2M="QST]8;>X=B6P(ZN#@JV5H#,S@#+H62C"J(,>-_<Z
M"J%GW3ZK$GK^CL'K_F97M5:7^-3H$.L/IY/!BGE"HUC"0F$"D4@Q9%1@&.68
M,Y+BB!9.Y8WZ&IM>\+"S59.%J5Q;6^N\1'\>7NNU>"^@A5]T/\"K,S2 FI8-
M(KX7T<\W./9J^4773RR+7[['8W7).DB62<J+5.H91JX$1%@R2(M"0BD+20M9
M1"015U>0G.2DXURI0J?)QV6 +<G#!VRAF6,H8GZJ-]K.3]Q9XVQKKU^%\=3,
MQ?Z&863Q!RT7GY?ZT8OOU&A<?6UKP7\UE>"W56]GI*!292*!$48<(J0R2'*4
MP32-]5\D0A%AW73&CCOL&AXPJPE,)<9FH$?3ICQ[6:=YU'+/K?U-';)AE:DM
M.\..93P"/ [E&(/!;\;D?QB W^\ -OAVYH/:?G"Y]K<S$;D!YI65+)L>E:+<
MX'C)5XYW#XQT:/73_+]YWI-N9K&N] QLO2I-52SSAS<+<?B+O2MGE&$1)9EF
M,HIT-)1(#C&+3;I4003EA$<X<J^3<)5-+E_C>-4/C)$UK:VV=@.N?W=S6 C!
MZ',X!E)7]5_*\HCE.(-9;&J021Q#QHF"":9YS#*I8L)=JQB,W'OA:Q.<[[NV
M3,'8O89T((%%P6$2ZW "90F!F,88YKHG3>IBCBAQ2;L>K<?&R,0^UUMC=I#
MA&*58HAE@8PD<P%9+B3D21I%(DXQ*MP22$?KH#$FDET'F5ZIP[S6T#%[R'*6
M.1;NH6>B-5O5P.\9> -VMH-MK[S\W0>+#G*?L/H UN^D]BJ+QIWX^@#O:'+L
MY:%N,2@WVXFKY]F/[[,"IQ@SF1O5>@F12"BDN:(P%S1BB@JFI%41O]TCIT9[
M/Q;ENL[6UA-L2ZK;PZ>?KX9Y'9AT?GSY=/?A/?A^]^;NP_?KJ>/8QQX-FO;B
MYO-O_U%_^?4WO_>H43[<8].[K^_$7P:J ]0SQ#HIO*E<K/^QEQS^:;$GMCY+
ML,HP9SF4#.GP)*$Z?LQC"27",HJP8A0[:9>X-#ZUS]+8;F)XOG_ 97C)>Y=N
ML(M!0H$;^.OO<&U/IS2FU[\X.*>B@=ZSW^/1\ &H^3VW[6+ N(>J!T!S=.)Y
MR#.&;N2;#[-NZBM=W:[J 5349YX[P949ET4:4ST7SBE.S80XA233/PFL(I93
MR7/J5 +8HLVI\=C^ ;T;\$A7X*G67?!18L&F"RPG5'Z!#3UM:C!M*4P;;';P
M&I-;58NM=I//) !KB#SG EQN=^24 &L@CC,#[&\=<,JBSF:NSVK0N9D)?9PO
M__JT4,O50YO!5%>RN5M^EK2255W,YD[^6K_5WOUGEB<X$G$1P83G.40DSB"-
M*(4QRU#!"I'GQ/[8W#663(W!]GUIEAZ,-V#/G6V!J+LE:#QR.+1P5:?UL]NH
M71$Z;AO0"VVI+F#\ ;5#+J=)KNH8AS,G8W702"=3CC&O$X2OZ#\/"2G>@.X]
M 7-5 ^.=D_&!P\%I&B\/'!:%?Y95)66KRK&XKUOX7%)6GV%L)8VJ]QOY:6&$
MB/05_T?2U=U?RUF294+B6$)LDN:02@DD18*@2A!)L0[04V9U-N=:0Z8VVNFW
M.G6+P@=W@5UH/@:P@<>NQ@53UJ!UHN&W&[#UXZ;3NZMN@/;%+#^TW@#C#M#^
M^(ODKT74:W@_V)A18_YK(7LY$;CZ>0-78\U\PSS[5C7Z1F\6M33<2OZ4BVJK
M>K35.$YQ+A5!$J:":)+,60)IEBAHZH)11(M,4">2=&Q_:MRX-=^L%Q[8W2F
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
MVAI]IID2BS5AFJF9:+WP.T5VZ\EP8'O7F@&/GVX=&H[!R1HUPN/&</E^4M_
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
M6B")Q6E//*7B..&;R:%,R!W+'X:.CF\]AQ%L3^AX3C^^77Y<_#&?,(4&@Q+
MG"6AY.P@*)N ^9"J'31.#N63W%K\,&1T?!,ZA%![PL7&BWJ[?+=<?)W.$TXP
M2<*Q1"C16>+#,PB1.8BFE, +H3\/%=/>3<%A".GX;G0P\?8$DW>+U3K,_M_I
MEXVG;867)!P'C*D("H6 H&4 F[()":VPR0T+DFOK'P:1CN])!Q+MV'?HE8<E
MA@W=0MA"TB@@?"2Z(QV.7E 8%KUW*FCK!9[^EG)UQ<- T/&5Z-'B&UGM-2]C
M]N[S8GYQ@5>,L-('#H9+$H#."@(*@BSW,CG&G&'Z9-7?7/4P]7=\#WJ2&$>&
MP =,YTN"+Q?QXW0]PXER19FB,B&7$^U<*8A!6&"2<V\]X]F<[C7<7/4P"'1\
M 7J2&$>&P,=EJ!EP'[Z?Q<5LPDR1Z+& =XX(5RF2^8H(1C*?HU(9Y>DFX-J2
MARF_XQO-XP78R>;_]5OZ'.:?<'-MSXHBY'(&UFD%RJL"3L0$4A;N<T&B__1'
MD+M6/@P''5]5GBS.+L*$?^)L]C_F% A_P+"B,RV_6JW.Z5"3QG!NO8927_^5
MX89"'63 8@Z>&^]EB0-%"GM(."SUJON;RB$$W 52_N=B=DX*6&Z>@)>KB3=$
M?1(:D/'Z_$L>CPO6D>\31$UO)MLWU//IC:4/0T;WMY2G"+0+1.RRAK8)(?5(
M)"6<KR8%R2'&%(!CJD<BG89!. XR.R5-]@KY4#=1=U-P&#ZZOZL<0+Q=P.35
MG+Z-Q#']BB_".NS8FABA@E>B9B(3"RI9.BJM1B"N2%+"2<WR0#"YFX+#8-+]
MA>4 XNT")ALK^#RL\=-B^7VB'9*K9!&<5#6=)&3P4A0HP6J18Y$NL('0<6WA
MPT#1_17E\<+L @L?SL)L]DNMDL'5:H+)6\:Y J\80=DZ0U V DJ*CGFD('N
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
M>Z!\$!!<L" EBX&Y@B6TP<E^FL8]BYJG^P^DC [LS;N+=3<L;;OX:,>Y*2F
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
MUMTVD:B#0SH(6.2UU71--C91D+2<RH[^[TNS1B&/(;23^_<C<7&["K69DCK
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
MJ'.(S(K<)E=]$/)/?FC>J.KM%55-O)7:%H90:GV+TBE#9.22(L<06$+C;)O
M\C8MXYYP3X^O6T_)IVGGSV;)WM32OO7T*[[ =9C.!K)LM[ZUJ:6[GX>N+)_C
M.6B> M06@]6;$N3J9TW'(_+ O0S&\+^NY;M2N/PN+-\N-RODS6WA.]PF@$\D
M^J"1"V"H:B=:MVD(&D%FYJSG*LI&Y9@'$/=7L(V/0>"MZXZ!]==!O'"%I0W]
MJV?GZ\^+Y?0_,9,WS W/W$#6H7:VB04"TPP2=Q&SB@EMH\NV_42-&T=T!<&3
M]-7W.?WA_.PL++\ORH?II_FT3%-MNK3MG#R=?WI'8D\UQ^^(L_K ;Q[PO#Z&
MEX'.[-O+7&(0,<5<,EFHI!QAA97:J)^#XP8-9H]1MWDYW$_3R?>S]\GW(XGT
M%_KT[YMA+%:Z#)+5%K?!,8BR]NN*K$Z[5S&'-IP?1M^X9^Q B+EU2SN\:OX*
M!JR](1O/H(UEV.@@58SI" IKFU(T97NX"F]=M#DPCVU:UK4S;+^M*![_=;6>
MGI$KL9HDAH&\R0*F9$/AN*CS=,G#M!3>ERAB9*[-6\!U.KHU5(]!P$U#=8*H
M.W#F?PFKZ>IMN2&;[]O__C"S.12C$TG$;V9.L.@@UO[!:(DFQZP/HDUUY&'T
MC>OB-P)6 ]5T +A=8_]:!T7AT$9*M:C]^?EJO3C#Y4WNA#04@U!8G)2I#[TU
M3\5H 3DK8WDQKM6 AL?1.6ZZ1B, -E15!T"\.\?E)E,^8I36&["JD/R41O#)
MUKG+Y+YFB=*X-@6[!Y$W;E%.(]@-KY@.T'8Q;O&6^78I%Y6L@10R\9%9@J!*
M!A=D0.VR+#HT =@^BL:MA&F$J4'$WP&,/BY#_C&([M;8V"UW$ZD#JEQ-KZ]E
MQ*IPB X=V&QC=,&:H-H\%A]$WKAE*XT -KQB.D#;97[*S5UCHTT1+0*&.M(]
M2P8N,T;A#CJ!,>5@&Z<('6.TFI6E-#-: XB_ QB]#-/EYL7KWS&LSI>;IXV[
M8QETN60E/!3TM#^<BQ!""I"DR5[98KQND]1Q,(GC9L(V EH;!8W=E?WU8O[I
M]?0KYNW UKL9TJ$()Z4"+C9MF7T&;[4'9:2V'+UW^<;5_IZ6LH>L-FY+IX'!
MTT;&'9@KBG43UG"W*N;]=/7[MCE+_6D2HO1"24_'=F7 .P-1J0 2.?,$?\MS
MF\E/]Q U<@NG5E'@0%KH %#O22-$0 UJ7^!7G"TV4X!V4Z5WGJ&ILA*A-OU!
MDE?,-0>$21 R:33(DVTTK/X XD;NU-3L=FM8K70 M%_#<DYB6EUD%MTZO6UA
MFA<%1BCR%ADS)"Y1"Q.L55H$I1J-]GZ L+%GA+8!V)#:Z !<=S>;W?;JICWT
M:F.NR16HX\YVCL"$A^"ELAJPQ)H&3$&OL]H BLJ>,)DV6)O$B<<3>Q@(_VQW
M^*VUU@$PG^6ON%Q/5Q>=:6\]D F1&.H"SL>:XT:.J$=AP=;(Q8BDG&GS^/T
M88<![L]V>S^D-CH UX=UF.>PS.^6BWR>UKNQ/KL09U*B%[43+?D'4H#B)H*O
MXWV(0Z<Y,NT:-0V^EZS#@/5GN\(?3A,=P.H-_G%%3,O%G'Y,VYS?NV-H5UP*
MP3#062B*G"V#@.0[, JIR2@K;T6K>=B/H_0P\/W9KO>;ZNNOD)?XL;YR-,Q*
MW'W_D^<DWL57^XQ$Y2-/+CFPQOKZN"T@QJ0@2U6*-6CRGR[5^O*.^?4TQ.EL
MTUEV=]V<W\[?8SI?+FG93=+3;_-%7.%R\W+V:O[E?$U_O9@G^E<;;?_894%@
MSL$%R$778@A;*^UK;82/$KWW(I3&[P4#<M-M=N1CT+CW:6$LM7=PV'](GS&?
MSVJ:Z(TK@<IVJA=0T]EY'4!0.?_!)F/>%5$;"J0Z<"UHA"#H#*FI+XZ.%"="
MF\K'(PGN-@OS%  _A?*ZPN@-__IBWWZ_P9]#7P1Z#LY$1PY.INVG$M:FL:HX
M1]Z/:9.8^5A*NTW-' :5#=3U5_!':_9@N)5$>$+%_A#+/KGW^@@IM'=J"=,2
M"?)0.+.U,H+PKF."9'Q1P6IN?MRN_DF<VL.Z>N;L%&T^!XDQI,"SNBM<>W"6
MHV,NB)#:30CHO.7J0'@YKMWJ8Q33P1E]6NM$=+H(&8@[J6JE),DT%*S7$EIH
M;QVCOVV&PK9],,?P*4]%Y],HL@/4/MB/5L:4T-#>RYXI\H., !>1@CLILT@N
MZU8#<0=I$3R&YW@*]@95QX#M@4?T%2^* ^C'Y@[B'6L]N5?X$+_M74&.RI9<
MQ^ P31AS*4)$SD$K%F6R*03V9ZFXWJ1!WAX&=%EP\KKF%JW^L5RL5A/!HRB9
MMJS3B/6E*H*KMP-)1,5=IEV+_"&8/6*];CV[QZC_6KII SF/G:5\#TLU0VWY
MM0Y@LP*C%0R,3(Q._*S!\>!(:"1$S%X5C*?BYF*Q;AVN%J Y2L)_A>N1VQ5*
MS4^^_4L^^0%X(/=/T%))*NO)NX)$GEQM9T^.G.(&9"ZN8MW)/\V5R&:KW5DF
MOIUU^A&79ZL);>%0K V@C:78180,KF[GD)W4(J+(!Y9;/+12MV??8U1^S8P-
M*MN_@@V[[)?W:DZR/3][D@O>^Q9]<CMVL 2>(&/!<1UX0; YF%K9JB'4ZGRG
M@N*29^M"FTRXALWA+M]8-KT3?_G^?!96VX20B8LFI>QJTY4ZJ*EH![Z01Q(X
MZN"*5!K;5%C?0U2W)N\QV-C_T'6:$CJX"/MP'E?3/*5M_2%<,O3LVW0U*1&#
MU4E!X3EONWNZ7$?0>V>55IGQTN:!8"])(P_M&$KIMR:_#*&!'J#T@_PWX8Q^
M_+@,\Q7M-5+0B\59F,XG/#$O0A"[2EV2%M0"73"8<G;%<V\:E5X\2-O8$V$&
M <%-: VKD;%O)2A6QK.(RZKC=TN*D=:U0F2;\?KOF[^9.,-<X$$#+X*L>HX>
M@BX1A#'91_J_]?X@5_[AM48&S,"J7;23\]BPJ7[H='U>)5.=TJ](8<KR@@]A
MN4W.@=0A@;)DN#>#<I*+27/MB@KN(+S<L\C((X,: F4HR8Z-D/\[S,_)]))6
M67UT6G]_6X@(\AHO>3&$=VD!%:_]F+*@@SXK<#:Z2'&L9U8?A)('%AKW;:\E
M4H:4<$=HN6\#&)<XV44D1JRHPW)=+?XIP%DJ*2NC1%:/!<VI5F;PXVAXY>Y!
MS5"2[@@\UV6UYZ!5SB;-(LG.U;+7@KR.Q!6@-2^6_JP874XS/2=X-X,?6D\&
MI\%EWT'\M8E'WY9=TNW;Y?OII\_K30PAHLO1.@]6>E[["=)9[.I^X2HIG5B]
M!VF39;6/I)%]HD:A_# :Z!5*.Q] 9X^:LP!8IP,IHRV$R.M_K$=&>X8U:I]P
M#U'CQF(#J?T0,!VA@[%/O'=+?'E>[_EWG*QVUA4UHJB#1(VK Z8X2@B>&[ )
ME>1,<7VSB?:>DVW/ AUBXACM+08690?694?]Q7%>O-=>:V!&N)H7PROQ!2)J
M:7TT5ILV3::ND3'N@30T6DZ7= <P>8%Q_>,-<6-/E0Y:;3H]LE(+V GM=%XS
M8.BYDT%84=IT3;E-R\BQ>B,/YD29=X>:>I&QVT?&$L4L2RC"4-A@?(8HT4))
M-JBHLY*I37KG/HK&/:!.U?2]P#E2[&.[*J]FTY#?+"@2/%^FSV&%SSXM\6I$
MR I:1F2#8R[3ULH.G$L>DH[:*1NY<>D@G^6AE7K"QK'*7+22; =69G=@;XSO
MZ^D<7ZWQ;#4)042L/:^3YG6^G-00LB)WW^A<M,K(1)NQ"7>2,^X<CL8Q]@F2
M[P ^5Z_:SRO^Z3>;*:BO5JMSS*_F5Z[>)U'XE!-Z"'57J% L>%$GBTAME./*
M.][&07X,E5U$6Z> XIZG\T$UU!?ZWBVGZ<?,Y^"MU<HIL%B(#Z9D;69L04O#
M51#HHF@SLWL?15U$96U0=;SD.T#0G?'JY3ZI_7,V/76>A]D,\R_?+ZXK=A]<
M36K8&M%JB+HDBD0-!^]B!HQ1"5F"E*%-''<BX>,&?</C\2GUV"ML?_V&RS1=
MX69#7O[E)8]\4D*2 CFYIM$S$K!@M5].!EW(J>=9)*L:35L[AMQQO;XG@NB@
M.AL[ZKR3PPN6MN[&!$,HNI949U?'&))30<Z%+6 3*[R^AOITHZ?<OA*5AQ<;
M=];:< AJ(MRQP;(KKEF]7"POGZN??:+_/%^<G4U7*]+2:E('6VJ+@H+SVHI.
M8(+@RV8>$T5>Q:"PAV6U';+:N)/3!H;+X.+M!2_O<19J/[C%;I9$Y? ]?IJN
M:!W,+Z9+3.N+=(C:?V$QKTT0Z5_>S(V81*.EU*6 CK* XD% "(9B>6M)Y%+E
M8,VCP#48:>/.6VN$Q'$4UPMLB=GG,PR5N9=8!YG':&.I>RTF#TH* Y$3-R9;
M$[F.*F?V6,MV=8%Q)ZFU,V9'"[$#K_V"C9U@ZJ$=Y@DWC?PG.0JOA''D.QL"
MM>,% H\>'.,RF4@LE38E?O=1->Y(M>%]\,$T,+I962X28E[5Z>$?/^,%(V]+
M/=X7\VW5S?PRO>(-DFF]SBWJ'$PI HH)%%C(HNC83P&"9L$8GU*\V21F;];*
MB:2,/&%M:%OUI)H9&X<'1"77[P=]-LZI[,G13"17SQ%<X F<#2H4QC.7AU4@
M/';ED<>L/7TT>+S<QP;5]5?;BPWU<?$+O@M3<B!?UVK[);%6IRM-E*T]:KB#
M&$1M^2 2B8\AR*1+SCP9CX<EEC]JV9&'J@T,IW82[\'MNF*1+\WQ<ON"L4V?
MGT@LEM! VZ'40<^*>/.T+0!ST@IE29JU:3CP,&TC#TYKX(,-JXX. /8>OUSZ
ME34U9$5NYB8](#.;E%8!4O0.E*7CW#-;Y_-*[YGF*N4V#8CV433R4+3AP32(
MZ#N T-V#!)_5\_S3YM+CE^\_/K*+8I[]$9;YS<6XP>W6N=*JYN)I(4]4HF X
MHX <K")9& 8Q!0-&I:!U44RS-G-<6G(U\ABV!D_JO4!@P+:S1SJ OZ[6T[-Z
M67CG67'Y2C;!(,FOE1Z*LQ$4<P6<B 9L3,8HDU&SP[(8#UQPY.EK SM]+:3<
M@2F]RLV.AXM]L)K8K*+ 3,8JEDS[@-6[0Q/ .!VQ>"&E;)."=A]5A\'J3W#?
M/[@*_A*-]"YF=+U?S&9EL:PFNWTCO7L6??I&>H=*H'TC/8(7Q:C:0D1,=9"I
M)4#S"*+8S'3QL>"?I37VQ3=?2O>7[[^$6;7='SXCKO^Q7)Q_H>5VB<JV./*'
M*9CBM=1<HJNEFQRL9XI':=&$-CW0#J&NV]9ZCT'+WM%\0ZFE@Z/U"D^[*8/5
MS7RYQ/\XQWGZOJF]B2RFF)('FXO<]1I(C)P'[7/.PDOGVU15'T#<N$ ;'A'[
M(3>(>GI"W%T,[6IY?-3"&"/ ^T2Q34D!G$YID\7"<^(I8.,QI?N)ZP9QPP!B
M'^ &TDZG@%M=#E*]Z--3=,(0$ JWJ8Z?CA",E: =+\1KLDJT>:L_A+I.(#<4
M) Z W$GZZ0ESOWR__/'_FN*2B/J\G;RQ[<&1<@CU+% ZTOG 2H!H$TF1E5),
ML<[HQG;N7OK&+7%YRL-U*"7U!+VKV^DV?[N-*Z0Q4BD%KD@/RM?V')IVKU$Q
MH*H'B&P<11Q"9B<&<$"<'&(#!U%:3XC<S"A?;20F=W;=6\.*"@2/8B+9=5G
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
M._!F[OMDMY7-OX<:REV_CWEOYV0MDE<95':BEH'6?*8SP$5MQ_>FA-2F=?T
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
M5F5-<B4'(7LD"1D2%&T'9]K,Z-E/T[1)H>9(.DT'_0SYO&7H#]S,BH@VRQC
ME%19X E\9@Z2#HB&A"9*F_3B?2JFK:EL#IQ#Y=SWFX#WW,_KC5!+!LIR]:^P
MRN/XT?N_V\:-'LC'&;QH(U-,&AE(4=^IM4R#R\Z!E1@#"XX[V>8]S@9>]/;2
MYLZ1NY/QKU<RGIG"8]'% 3.YSN3V#J(K&I@64646F-VM5-QS#_;,(OVZQX>H
M^L$]V%@BG?J^=/_!^L#I5S9IB\( B[7WP2-93JL=&*]%CB'D;(>]<S5LO0F'
MY8^FV"?1,IZ43W5E/M":R_QI$U:;EBCZL%I^GZ^KXE):78:+F6)*9<D5&%X,
M*%<*."<B(!,Q9$O1 !LV)'_XFA,.QS\SFDZ2=K^FZ%.XP/6]-.DL6H5<9@U"
MB$RB0V)+.P.112\P*\R[]_$'@VAWS0FGW)\91"=)NU\0/;"TPB#% -R!UL;4
METC(T@J*'#UJ%;.RBL*-<Y]G;:;93WF>'2+E<<ZS7Q;YC*'7'V%52Y^^XS@1
MUZ//M0FTGJ?Z#/&54@Z]-AJ,KC7G+M47$Z2'PE*2B-RQ_&J*/JZW0UK5VJ6?
M\>I_WRUN5_H-O^/%^NKY(X,R\4*,ZES=NR08!.&0@HWHDDHV9B<'&ITAZ_4;
M=1T"@!V[,[J@IS^P]K)TF^*L[(C"/$A-HE+)&PB)<Q)?,2+:5+/GIP+GH/SQ
M)#<1+5!SE(C[OF.G&.!/7&U^A$7^Y;\NYW_6(LIC#J8GOS/BB?0RG2,=13<+
M?;@(B\V;>ZO=(LOQ3/ 1Y/V@(0<W,P8NHP137S#/A1P5WV9@W(NDG7K-L'>!
MIVKB=+(N,/+/*@I *>ZKNY:!<XQ.%LNU;7,N'T+EM*?:N%C:O:QHIJW79[&.
MKU]\YFN-K5?#VL67<9>8M8QI"\(Z1Z=C?7-!BP26!1F%YIJ%-J4_T]FP>WO!
M:Y6R(9;K:X]*%00GN 2;M>.!=H6,;69^OTQ;[_;J$-P,ME?':>;U6:D3XO[G
M/M?83K6,^U\&G$Y::8<&<F+D::,)=$!&!T$&CK803F2;FIGFANJNH'?_QJA'
MQ$S3#L#("F192U:\M^#1*XA2ZZQ"Y%:U\3>'4MB[T3H$0_O+KD?44@=E:GNY
M^>G'9_K$F[_FZYER,OJ<*<KEV8#B9)>CL!HT)LDR3\F:,SL)=\1-B[DVJ!AZ
M7AZIHIY15QGZ>?DMS!>S4OT+(1AY%YI88K5) FV"&*(MF+4,Y=S>V2UQG5JZ
M8P$QV$$[3CL= .Z6A=_Q6\35S$@=@PH2A&1UC*S0X*.*%!5[YR,W2IHV$ZYV
M".D42,<J>CF>U*?.L']>+B_J,*4KR@MMF2Q,(HUN1RC5Q]UD%I!(*)8K'K4:
M5N_VX+/39LU;:?]$\75@+?Z)7^?I M?7U#/-4/G"H(3ZRJHQ$4*4'+!PGYWP
M6$*;[NN'=$Q;H]_:5IP@\PX0\^OE:C&OXTU(,K_._ZH_W7 2LLW"EHI]3*"L
MII-8U5\FF6S)RLM60SWWTC1MT7YK)(VDBPY0]6E9-O\*6T9N?ORY7E@OM^)Z
MNUQO;ABSUML<@H+Z6"ZHK!TX%P5(79(3 ='Y-KT@@TF<=IQQ:\RUT50'$-Q.
MU_FZO,COOOVY6G[?CJF[8<7;*!G2J9Z4<G4DAH7(Z)?*I^@-\8BNU5O&>XF:
M=E)Q:YB-I8VIG>N/R[B\)=P9K:5#!"XLDE1,)N<P6@B%]D-(L;#\8E[\T5>G
M'0[<U+4^6G@=F).WR\75)#A2Q+L%B>D+:>:&EU@X$Q0:4GC(:WZ6;\=BU&X&
MIP2A.\32IH/J.:JFG?C;VJ",IH\)L;5>;68?P^++5>*K\LMX=B"CKD3'#*YX
M"59;+GAPTJ9!F1WZZCT T:]VP?-@V6DC^:9IZ./%VP,F;@Y'DW(.)H#!6)^/
M9!J\00'!.*,$2E9P9%1,F=\[066[2C]"?A.K_??Y8O[M\MM-YBF5Z.O+M*SX
M.@6I>"(\,R@Y68%%"V8'37P9I/@'2T^L^F,4MQQ#BE.K/_QUCW T/K/:A"2]
MH0-2.4''8K @ ^T)$@&/.8RG_OM+3W,BC*;^HZ78@9.Y]Q#\;;[ =QO\MIYI
M0SPI3WRX&B(Y)R'H$$%)QR@.K[/3!N%BO,O%6]JF3?-.>Z-]G()ZAMQ5:XE/
M/D9O,^2BR$4W5D(LH3X99.KYB\'Q,\.M@UZ?L5$P%&2'JZ0#@-T?=OUQ_N7K
MYGWYQQK?K->X^0G+<H5O4KK\=GE1FQK??%NN-O/_LU7D+"BIK12T.[,A[\]+
MI.A0$L=1BVB8*ERU?S_G$(H[O10=!Y1G46,'<-U?C%?O9(;+X&<D#M+\2OV+
MAR*)I0AR2"Q$[3-)'[%Z)1)X\B%9E;3,;=+/9V"NT[O>QI9Y(G!T\#[?D2(9
M* PFG$I151$@^>^)17!&6S"%F5I_@26>NWAZ!+8ZO<6>=(\T $07;P,>*XY"
M1]I F607K;2D*/+]R&(P.FN#M0%<*")D8;77;68#M^>MT[OW:7=*(VCT?)@0
M[^7RXK=Y0;( )5A!1Z- Z4!QI< )D>A\E#%:H62K2<8#B.OT#K\Q7(]4SM%X
M^XZKN!S)W;^_>6:,9:&%I\,%2\T,N42ABG @A=(NV"ARHQ=;[U/1Z?W_.!@Z
M6MR]]TKBGV&>?_GK3URL<1T6^?WF*ZZNG[?86NTCFR8'?'?4[LE#^1BIC?+G
M:Y5NZ\W>AC_G=*+,_P_F:X+>7!-R1<$3LU(XUX8'SB"GI&N9]O:U:'(+30K!
MR\P2MDE3GDCXR0^&/E+/72MR2B5P3QLS%5%JB46D'2L#I"30*:Z9Y8U>#=U/
MU+1YVW.B[-%;HR-IZO4;PE-&70S^^IF-8L-1&*>"M@X]5"I;L%;1<8WUN/84
M#)@03+).&%[:^,L3F\8CE[_;E=PR1^&3!R>W?HXD]X33)J6MZIUVR$K G@3W
M-S&RA^#UL7MY1IV_?DM\TCB/X9\_LRUN.>[C5'"CML8)[D&Q%$"%J\LP56,G
MJ[2T+O(VW2X3&^/K9=XMZ*,UKS5#;F*Q04.,];GLX#QXI0T(SWQ1*9;DV[0Q
M[U+RNHWE(7AZG,\Y02<=W-1N)?/0(%S;@9F.RI&E2B!RD4 >M*X93_*JN:N#
M4ITVHLT%ZWZ:IBT.F!)G(^FI \1=,_&QDEZRQ!)ILQ0*VNJ8"@9>&@/<<ZE5
M9C:+5D,^;HF8]JZ] ]MUL"8Z -$G3)>K^>;'S_CG<CTG,:"4I9"W&3G6E[EK
MKPJC/2!(/)J7R'6)38"T0\BTE])3@ND4C70 J(](,IBG#0DOK+_.?)"<%!X@
M<U/[ZG)]O<(:T,SI8%D6C+?I17M(Q[0WMU/"Z01]3-W=^B'\H,]=? Y_O:65
MYYM?*!1<_D */BEZJKJ[^NU_4"2U^OP5W[[Y^,NG-VES<YQ[E82W28&H@;/R
M]%-,]),I @TQKDK<N3_;TP][&AW3WL). ;US*Z\#JW=/B#<<*.V39UA BRJY
MF"QXAQ*2)$\@<*:9;G.2/J9EVDO<R;W]X_72 ;(>ABH/A77#D@N.N8CD:9)3
M $HD \Y'"4C"(@=4)I-;U26^2-RT?=\=1 6C::[O-W%_QGC40Q?;OS=B3O8Q
M':,E6^/F"80D9G@H.D ,@C2H1(98C ;F$@IC$CK19BS5T_2<?D\5GW[O( IG
MLRN0#.T!):P#E\EY1.:#D\5P$_D9V.SF5NED+#R^+#I=\'W? 54.KYR^7T.:
M7\PW<SSESN>YSXUL3P91W=;,2%F"B=Z!QBQ )2O )1' 1B6M$MJS9O?FK<S,
MN^W(E+M.6)D*Y\X(8+4=5DG4$'DLX+WF0E@II&U3(?0$,5V:ET,P\)1Y.47@
M'7C"#W;AC^U(CI"\)Q<I TJI22*!B(_: $]16:%%B:9-K\%C6J9'S$GJW9UG
M=)JLNT/+]8@G9V5VVM.^48G75YL07,@!BG7"B>1YU&VN29ZB9EK$G*KA9P%S
MA+@[@,Q'_+Z\^#Y??'G(S/7P#LV#*]H;T#G6=YB3 H>"058"DXO2Y$8>\+-D
M]02B8[3^*%L]E@HZP--#H[S=8MZ&P IS@$(S4)@1HK4&H@@R%HO1-RHT>4S+
MU"4 XQY8)\JZ.[3\$;[=S"7DA3,*'A64['F=$*,AV*(HM/0\<VV*R&VNT/91
MU).K<[BFGP7.D6*?^J;L]D7='8/)0DS:U3J$I#T93"U(,+) IB/="!-+V.W%
MW?MT\9,+](2$8U6W'%F.4V/A(R:<?]]V .QP81CF'-& %/4U0.9L?;++03&&
M%2VE]SD.0L/>)7HZ4\; PSBRG!H1;R[7F_EBAP&II+6(&8JJC[@)^H?GY+2%
M&++,R4L481 8GOKZU*5@8^/@9 GV 8$GG6IE@Y:!' #A'=FVH,A=Q^#!1F&=
MR5R5,.Q)GOUK3%W,U08.)TNS Z?SGV$UK^;M8]A<#;EU0=HBD.A''D%%+$1_
ME,#(VOEHHTR\39O1+B4]F9#3PY.3Y-P93F[&I5M6'RA.($T=_)<P@K/10,XH
M4$F10F[SC.IC6J9U0T_3[3- .4+0'4#EM^4BUR'X],48%O_YOA 5F"L_O[W[
MZ?W'F\.S1$>ND@6-E@[/XA)XEA-8$P,=I4Q(V:9%?A!Y_0#J& SL/G8RND*F
M]F;^(UQ<?-JL$#?_OKQ<+<+%_S?_\A77FP^K^;>MU*YYRL'P)!C9:<L=.>GT
M#U^<!/J5P'HESP(?Y-H,7'#:\&<DV#23<!^VZ0M][5L]WF^?>+7."6,B@R+)
M%U31D[GVCH,//@F.]>F.1L\O/4%-3Z[RZ6[/R?+N$#/76XNEDIC3 I11)!;A
M/00M%'C+45EELQ%M,OE/TS/MB76ZGE\ SA%"[P Z;Y>+[[C:S&D;54:N;28W
M4C//ZPQ5R:_>$@C)!SIN$X^HR22S-EW73Y+3%W".T?/CIYA.%'H'R'EHB'^[
MG79F;2S2I 29E=H6X3R=O SI?(^2]AIFP=I5FSY!T-1]52TO$8^3^M2^\4ZV
MZ[*B_WW9K6"<U=)R)XD;S4E6JFP+SSF"]J[4"G2-<=C-T+#U>KHH.E*OR[9"
M[L#H5,'L</'C^@&;GY:KU?)?M2XC_$E_LODQD]'E:+P$<O<S*%UGT]A HHR%
MN52B1=/(:SZ RI[NHTZ#77,=36VWGF+L$4>W][/;?IX/N$JUB0894T(7!S)O
MFV@8!:&._J&#3)+5!AXK!]FRXVGH*5L]@GT[DS)>%^;^&2XN\89-P;1@P6(=
M94VBY9GB&A,CU$<1A!>>!S?L_#R>AIY2!6?'W-'*Z."<?2BZ;6(6UYN:5?NT
MJ2/4K]D*7Y "H4![B793D)HL>%8&/&9R:7/*F:>0X^XM?1-__SD:>PH!QCEC
M&^EG:FOWD*V?ZBA_XN8F:SSSP@AM+0,GLB'#G2T$HQEH(64A3P+YP%/T^76F
M'H?0-!(X2:A3X^-)UW*YV'R]N"V'^Q5O;6Y,N;!D"W"&HCZ?Q8@S1&(T9$9\
M><72T0?@WF6GGF1PAC-O')&_#C#-N,3L?/&05>&@3/;@F-<@&1.1A1@%'N^Z
M/UYOZF$$D\#G("'WB)M'7N#6^7M?WJ2TO%QLUG=5FC<[Q3C.(W(.7&D'2JD$
M/I-K&%.P4C(LFKW87SP>.8-0YU\UZMJJ:&I0#G<(WRXOZBM(JW#Q>UC0K^N_
M7[=@RM[1[E,@/3D#2FN*4)BQ(&WPMHAD[&ZCZB#GZ@A2AF5BV:M!XWEUTT'T
M6&6VOME_-W-DN.&(4DC0&4VMWLG@%#(P7%;Q:?JC-O="3U$S#&*O(ML_FM [
M ,X_%N'J,;;Z2!N):+V^K(.6K^<3S4Q.CF$@1K VNM0[UVCI'\89G6M%M')M
MYI4]3]<P,+VJ'/Z(BICZ9'S*%WBS6%R&BX?QRWR99R[;I)3V@-&'*K(,'NLK
M6\X;%E/=-?YHIVS/HL/0\[H3\V/(NTL<?:NNXYOO87Y1'<>:6\GO%_\_\3HO
M<\PWKN7,<*V-,8G,<$)0R01PF<PP%E="$=8R.ZS*\P0BAN'L=2?C6^BC2]S=
M<'C%\%X^8\H!N:T5K\&#XE@@*FXHR@ZH@];%FN.#S(%$#,/=J\B^GU4?7>/N
M]I+K#]Q\Q#JPLO[N-J*>270^:<] EE3?(Y(20I0>A$),DNP[]_ITT#U#P3#$
MO9X$_EDT\3K@-E,^>YLR RYTH1V4ZLM35FQS,C8F)H?V2PQ;;QB47G<V_T0I
M]PB<]]]QE5>A;.Y=37@EA95:@TRUZ@,-AU <_8,;E9U!(]7Q9NF)!8=!YW5G
M\D^5<X_8^7V^J*5J'_&_+N>K;09NQBQM!F\5^.0BJ) $!&DS!,MS5,H8%,=7
MTCQ>;QAR7G<V_D0I]PB<ZR#W;B<4YGS)Q@%GM>;'"@17]X1&KE@@1S#MCM<_
M/)MPF+D1KR=I/KJ$>X3,GGS_#7N2<R>E,,"CTU"W #A.QS W6>DL#9?V^/#M
M^;6'P>E5),C/(?T.<N<?PH_*P/I]J<+[Y:_-?/'E<K[^6G]S6_XZD]D$8ZVL
MCS,Y\NI8J8DV!R9;BA,RB52U&47[(FG#T/:J,NCCJJ,#?#T4$NV3JUS'3&&Q
M7 L-R1KR]WR])7>6Q,5T<(ZQ0*'F&>H_;PD:AJ57D4\?4_0=(.@_5O,-&>%2
MM\05 ??OENJFF F+Q009@$F1ZUP2!U%94GTT+ ICA<UM9ON\3-LP7+V*_'DC
MA?3_ML/5O A<?9]?7. ?RPV>^+C#WN^-_+K#,+K;/N^@13'5)0+KG025A(48
MB@"1 _>ZV,+E.9Y7:?F\@U/:ZJ(4$++K>TK%@^?:05">8,Y4+J5-P^!K>=[A
M$ P,>=[A$(%W<( ],=<WE1C(%"I(P=4Q #5?$0L".D[.7>&%[::&IIV6?=;G
M'0Y2[\O3L@^1=7=HN3?4T4FEE8D&K*NWSY(XJI58Y,4I)Z.(6:LVTS5>S;3L
M@S0]=%KV(6*?.EGTZ,#_<+E*7\,:WWRA/ZB,70\-<5HX45^)%-HP\L]$@I I
M&(CH"\\FR4<S?O:DB(:NV!-6CE7NLK6DN[,^'S'CMS^KEJXJKZYV&2:;)1W?
M/%7?'KV$4'0M=U?>UP?BK6LS'O-EVGJ:BC#V67:R+KI'U\WP8BX25[7H(+LZ
M6T06B&2X*4@53$I62T7;!/-#J.O)CIV.B(, =X1ZNH?<^\7-O,? O-Y>/:>B
MB)E4##AC1'VO-BE4T2MQCB!N+X$] ^\89!P$O>/4U#WZ/O]K>3NC5D5K3 '.
M,=;9(@)HMRI@+%IM?91*3'&FWA+8T\%Z=O0=IZ;NT'>7_%4B%<LI,))8)"@K
M8ZV60+ Y>^F<1]3G>'?IEJ">9@R-[;8=)_7NP/-K2#?71]&C]S8ZR"'6_M82
M()A<P#"*=)P.Q85SY"'N*.KI:#Q2W<_?W!TG^^XP=+\[;+[>UK;/,*O(4Q00
M)==DM=%"T+3OO.2I2.N9"N=X&OD)TGHZ\EJ@ZE1M= "O#ZME0LSK7TE\-]>/
M5X43,Q.9TD$XT!&1#+AA$%,F89E@<PDJZD;CI?;3U-,I-PZ@1I)_!TBZN<C^
M=;ZXN<->_]MJN5[/C+,N&DY'OX^\3CK-Y GP EEB<D9JSQKUG^\EJ<_I>*<9
MIC&DWP6,!L]7B\H$#)8!Q2B^-D3;.NVH%C ;20$N+U*=8][UZYM_-]X).)I^
MIK[V><C6AQ7^>55%2#]]FU]^NZE,I:"%ER048"RZ/EN $"C0 2U20ENX%WDG
MQ35H5,N^]?J<AW<,?%H)N0?<W#%R/6SYWAXP,CHEE &32DVV601O$U)0S&(P
M**,_8'#B,POU.?ON)*2,)=8>('(GG$^7\7]CVGQ>_AX6N?ZU'W>YLFL^;VI,
MM4"?*7X04AI0N43P0C)(P:2L,,>0ASW">B0!?<[#&\GXM%%#7U#[./_RE3C<
MNH9/L'GS,L&5ZQ@NUG1@RQ*5UL!E$%<IN^@X!Z&B3;G8HJ4Y G&'TM'G2+R1
M@-=4*5/C;UO%$7[<&^5'QOK=(JTPK/'G2[SFF_AZ7^YX?K_]YTQ&)!E7=[&^
MA:&$8Q"4$6#(CY3&<K+RP]X:/H6*3B?@'0V^LVFDN]#Q;5BM?LP77Z[->!&6
MB]KDDS()3Q4F('#4((+R3HN"(;9YDNTYJCH=AC=>?'B"$KH#U!/9WNO Y<WB
M4?O&^@_<S+C.QM4.?(S1 D7#FAS45, Q824*RU"?(T%Q,.&=CM5KFK@?4953
MG\([8?8CL_^.O(N+^7J#N6:=/V&Z7,TW/W[Y*WT-"XJM=& 47#$)5M>7[[>;
M-%F"&>W26.</&GZ,%W@H'9U.YQLK^=%2*_VW@WWX\.&W95B<V 2V\Y616[^>
MH[%MPU>)(64L#B+3B4).,C9!DJ&/Q@;%F#4>VYT;YVGX"DSDXK0$N>TSD/5>
MJ[91%L^Y*SSDF,]1K=5OP]<A&!C2\'6(P+MSO;9EN9PY562J#R;*^L(%#^!K
M:9$)2C.?5!)G\>#[;/@Z2+TO-WP=(NONT'*O.24FF6)]<,[K1'QD7?OT,=1+
M!:&98K:H<]3&=-SP=9"FAS9\'2+VJ;WE#^%'^HKI/S^LEAM,VY+5U?++*GQ[
M^^;C+Y_>I)LNI.0YXU(I<()G<OR*)D%1*,N42:'^Q_MA_5X#%^P)*<>J=ME8
MSMV9GKLX@3.6N)4.'"^1 D9C((120$;)DC?*"'>.$L_?#BH0/FM?UWA'UG%2
M[P \]ZN_:JSQ?C7_,E]LM;+F,TDQ7<FJ/C9BZY"9NA/J?K/9<L^M#AQS$P@]
M2U9/=NE(Q3]3@W>:%CJ U 'U.1)#T"H6L,IH4*@M1,XE",1BI"?)N7/,CSJY
M?NKLB<A3P-9(/QUX45>5/+N'^_5S."4I9UB=NIZ3!^6XIDC6!<C2<V71FYS%
M4._IN87ZK! ^!C"CB[57B/RQ7*1K=IRS23MI0*9 +H%B'KRIC;A*:#3<\<B'
ME=>]O%:?)<"C ^5(X4Z-E7^C4..WY7K]?O$K?7_^'1>X7M_4Q5OO8["<0&YK
MW)$,N(0<?&0V%)^2'5@G\,PB?=;M'HV.L<39_\7"NXMYR"/,EWOTG9$O%YZG
ML^WU@M!UD@$=%8X."% E:@A1;1M+0C2!(<=VB=3S7"]H K2020-Z7L]%#."8
MB2"\*SZ*E+-K$SJ]ENN%0S PY'KA$(%W%R5M$Z$L1BZBC8!<L]HG4U-<Q $O
MRBCKO/%,GP$R?5XO'*3>EZ\7#I%U=VBYEPQEW%;N+45H=6""8ID.9'3D82GK
ME;,H1)MG,5_-]<)!FAYZO7"(V*?V9&\/^GW3S10RXYW.(')$4,((B,Y%,"4Q
M[S%%W.UBV^/.OK123]@X5IG+5I+MSLK<>?VQQ*1,D12HU<H?;3W%^#D ,I\5
MBS9S_]_\)F&\T^DXJ7<'GGOC+NH6TI[<.S1:$1\Q0K1< :+5)#6?RUF:9'L?
M-7*0NH>.&CE$]MUAZ%Z-['5M[$Q9QAQC!;2(Q$\0&:(H%#D@!AU<P5+.4;3U
MF+*>3%(+3)VHBPZP]<R<BYI\]+;4K!9/Y"*6 G0X)Q!:"6T<IJS:I"->VYR1
M4_ TDOP[0-+^21>(.I&[YV@W^/HF66(02S:074D9H[,AM)H_^:KFC)QFE\:0
M?@<P^GC37'Z3!Y?:&,90@@BR1JK"@ O<@796TJF=50QM\C^[E/1Y]W *:$Z2
M=0=8&?!:3\3Z=GW*D(7TM2P.R9Q&#XE96SQWP>@VM10C/9]T]B$BI^!I9'UT
M@+!#JD)B4%*F6C8G,^T=Q\#9S"!YU,KI8E1X%54[9Q]&,IX[/II^IDY.[@[D
MN?(1/R]_P@]AGC\O?ZNWD*O;N3R";+,S6+M16)V$45]Z"!S0"I>"$%Z(834\
M!RW;YQB28\#46.0=F+$GHXS5IW!!UOJ7_[J<;W[,,'I4EMS$Q"C&4+%V.!F6
M(,:8N,PVQ$9=/"_3UN?<D=&CON/UT0'"[KN2-?>_OAYN,1,Y!!G)V&:& LC0
M1G#.%XC)!HIB!7.Z3?"WCZ).)XF,Y<<?+?S^:XC>+A??<;69QZMGB=8GEA+M
M^]S(%46#J&Y;6!1\M25,0L#M:&W-"0&2HCPC,\>DG>*OO6\Y&Z:=X!9*<A17
MU'&6(1#<D\M1)6XB\C9#D5]+8=$A&!A26'2(P#LXGWY;+K[0U[Y55C[3W[EZ
M4$@QC(RQ^A1"KE7: ;P*'D+FQ7)OE8NV"6B>HF9ZU)RDXN7(\NX0,]>%$2+D
MY)5SX"F2!(5&DU@8':\!>3%%&)_:6-.GZ9D6-Z?K^07@'"'T#J!S[]"OC%P7
MOI#+7FC/, B1UZBQNF,F1=)S$,XG+H1J\SC-D^3T!9QC]+P<6^@=(&>;MZHV
M^"H.?+O\]N=R45W[[<X2 @/3:"'71Z95]>I]4A9L\$6A<R(UZEY^EJR>KOE/
M/[K&TT '<-KAX7J7A6J.I61@!'%"SF"J3U@@%,^T9%YP;=O4QSY)SK2&:$1U
M+\>6?0< ^G"S[J?-,OWGM4VUJ;@8@P;/G0;EB1%/_QJDE*1Q:%.PO E^GJ)F
M6OB,H.1'R<$3)=X!:D@>WY:+^PS(D ./(@,O-165I0 GH@2,.F)PP8;0QN0\
M(F7:TVI\O)PFZP[ <FN!WUZ$VOZX965K?4M,00M4$-%&LKZ:_$+Z^^ ]'>'&
M%%EDFW:QO23U5($VHJMSDN0[@-!]^J^W5%&!<>0.8I"!Y.(I_A2*0[2N&!-Y
M$KK-B+''M'3BX)RFY%VK<YK$>\#,7;CXY)'KI%?%UX9NG11)1V42#-GDX,F&
M)C04EK9YK/T%PJ9%TZEZWQ^SGZR$#C"U[W8O:2E=)B.M C?$BZ$3N3X6D163
M*>9"[EV;3/,IO4)G*H ]_1@;0^H=@.?I6O!/EY'T4>=>$4'+Q9?/UTFS&4/.
M8XU%O104$BA;*#2E#:B%TL(1QQ2<GK$^?Q^=/=UK' F-037[H^BI Q3>W5FO
MZXLC5S/7+J[D>%=>=UTPG-'PI%VHC2X<% \<7' D1HXH*8P)N#L^:D2[-I3*
MGM*3XR"PF8XZP=_ DDYFDLD8 @FNGAG.9G!H)61K3#9)F*3.<>E_<LGMV3N6
M3L5> _U,77+[)J7+;Y<7E8,;GMXO[MOTZYZLDGE A)@-28]) \%*#](XSDH2
M6;"=3LL]I;:#ENO)2SL-/(U$/#5H_L#-?6?@\U>\9Y7+SGWDY^7#"&?F>33<
MF@0!O0.5R43'@@D<<])0()Y%UH/ =!(9?;8U'0VR\ZFDN[/R'G-W/']8S1/R
M65:U:)CD61O?:QS-R!2[#"5F9 51L'*.B3C/D-AG.]1X)^58VND =MN]4B,?
M,MF7J_GB"YWY\V7^])5$O?X#_[7]H_4L)J8$2Q)TKI476"(XBYH$2$&],RS9
MV"I[/X2^/KNA3@%< [UT@+9[]UL?PNK]ZLK-_&>XN*Q/9VZ9FS%" M,B$2),
MM=O)@S.YT"^99;S8$'R;)N$!Q/79*'4*SL;62 <@>W;K[/$@KM^"F].6,E*P
MK N"5O7U#4WACB_90T22K@C;GIWSF[H7Z>ZSLZJ9"1Q7CQV@]J'W>L7DF\O-
MU^6JCJ29)24E1=T<2BTH4$9:\"PGP*"]9HYX"JTRQ,_1U6D'UFDIX=$4,75,
M>Y>_>5\^T>8A1AYR]\O%_$O=-I^7_UQN<%90*5>':2E1BTW(DX4@>0+II2[)
MV8B[):G[9L,?MG"G;S0?';BVE'O?O7W5G9AOMOV+89'),&_(;N,BU0/J 0/#
M>ON>^]R(O7V#J1ZIM^_>>F]VUGNBW2O3099J@WKP41(6@X-8?Q)6>4*.\#HT
MJGXYA,PQ0H,7%_M,"OCIHF9WC)<!ZV:47M.^D=)#0!/((-?I(T84U3!*&$[G
MQ 4>S7#V5!C12'NOUN#]$58K6N7[*>\D'/+Y\QC$Y[F:Q$"JS%)(@J+2$#FH
M%,TV_P&VA.PS':RBT5BQLQK(3^DKYLLZ5N*GJBU<K]^D_[J<K^?;1]1^^G'O
M5[>4U$SE>DY&9HN$J^H<*;)7VF9@=0RAPDP.;/0<M/0<E4V&-F:;^'8<!EZ3
M23T$F8_"WPGT/6' LEYM[LI;/Y'['"C8O^K;X48ATFDD0QV?(F(&EV0!K67T
M17.#85#Q)JUP#ZSTJUV@[B5AXJ+?*8"P'%,K4\/JFNY_+-9_8IJ7.>;K<E>E
M@C3U?51FN+I^"->I I:SXA37T8E!)\<P:.TC8QIXC:3:Y=AR[@0LORY7F,+Z
MIO6X!%:D5A%0D"3((;8DDY!))IIQG25YK8,N70]"RD,:)H3).(I] BHG2+F#
MG.T3]GB/!;Y+*FEF3-8:@?G:A5J2@BC)*!>RSA:=I/^V&1QP!+'35EM.>>Z=
M2\,=@/CF:9?W\6+^9<O*3!G/K22W-7DN:1MR!$_Q.6AC@B\N%Q[;#'I[3,NT
MKE=S]>_>/9RFBP[0=%,N?\/)7;QT_6!'L,*AS048K0Z5.W"&?B(>Z7]2X71H
M-,'62Y1-:^S.C;11]=1WBFY[X_)U>4$"7%]/(3TB$_?$5T9,N+U$XTAYM:M/
MWZ8G#"L8+"8(VNI:V!' USG*1CC.L9;JQC8W"P_I&*7@XX'PMJ^^/I%WYDR7
M[ 3YIVBJNRHB1".)_^*"-S8C_:==;<<0$GN8@'$4/IZLWAA=*:_-TFP]T*,R
M_WN_U=3J/$5O&]L3N5+,8H#,&6D].0,N&PW">)D3>I]<FX:?D6W/;9#R-.#_
MHUZ7U&F^JX_S+U\WZSO8,^M*+A(A!1GI],Z1-E>]$E-.9E7WF6E3T7,TR5W9
MID/PLS^UWE)I'7CC=XS^0C9G^0/Q$ZZ^SQ-NRYI^(K\OU_$UN%A?J?%B^\EM
M4=U'3,LOB^US:-NRN^TS1'>"B(KGZ).!Z%B="RD5A24Y0+0F")424ES=&+TC
ML]3#+*&1T3VETKM"_QWG'ZZFJ[_Y5UA=E6*]_W.;3JH5SU?B6*\OOUW]WO8P
MO.->\80B2P8A"$-^2FTHRJ0=K[@L5FBO3)MKYG'YF+:-M8T5/[=Z.P7W_6U]
MG_LW:3/_?N/=W7$<8BC(M*<CK YH%4G23F86O$XEE.)RYFW>&CV=]FG;:1N#
MN*$:>P#NTZ=0];B^;.\B?_KQ]'Z^V<JXWF!^L\B__/4G)OKQ\[+^UOO+S7H3
M%GF^^++],URE^7HKJ(?2LCQHDA&I"&M_7AWF$;(*D%![P[/V@K?)/T[+][2M
MP6-NF-<#GQXVVT/S$G?E]I%87\VK&*Y&R2WRSN_\8S'?[#,\7BDNR,* XR&
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
M^O1K;3J&L[PQ,,KEDI@B_[8*;-U]PK$ I5C/5=(FB4;IC*U)VTF7S']TZ03
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
MTHO7L$UM_20DKR4K$6KW7E!HR>AI94$77YC.B3/=L/*T,75GJE=M@7U2]3L
M90=KWK?U<?K'55BLQM6_^PQ9?<'%IR]AR[#E[_2(U?+M;',!,,$H/0_D:029
MR?$H9$*]MQJBPQBL*<F)SBY#]Z2PQZ[2+T8/6Z)MP'G?/>IAO8?#?,V91$Y^
M#$5 QIK,X;B!R!7%GRF%DD)(3G9V+;LGA3WVJO[[Z.$1:-M?#_U&#V?X.:RV
M?]NO'I+<"DYO,@<Y*A44(V7)F8R4UA""1(CH728KQ9@XY43H)D3VV+;O[Z.-
MQV'NO!5R']<=/6>)9P-):Y*9TGF3G,)$M@FM+MR(OC1QZ #QQ+/H7HP*MD+9
MD0'BFUGOVR$Q[OO:5[C3HVGMR/]*YN.W,%W\*UQ<XDT9*X&1Y*A!Z*!!\1#
M,?K.DR.A<HK6X;EMF0<QXDR#S9$/4SL Y3D?N0[(ODFR)I2, 1AJ41LG%G N
M(7"=L@G9A[);"=Y9*O*9'MGVH#X=FH*]L/RW._A]GGU.!2-KI7B))'H5I8*8
M.8?,M/2&"86]E<D,S8(SW<W_5O:@):K_5B?0.]A3QKV,04+.OO8F8)X D#08
MH:4.+$FE&B6P]\*",SW#_EL9A):H?M%1PO90\I)0_3S7@@J6AVAJ+[)8:\<<
M!.8T!/0\R. SV=@SLP7[T'^FQ^=_*T/0#,\OV@KL$5^Q9'-668$5K(!R40+9
M40<HDB!V.BY59^E;ISXKZ._T_F]E 1IA>= [@!.50K_Y^NUB_@-Q_<F?EXOT
MA;BYGM<P:!'T\Z]I6OZ\)Y5M"I^U2<P3@B"93% J5H.3F4&,*649I&5WA\B_
M\,)GP960 AD8+A+I%JE5#-8#INRL3HF;_XP;V*/P>1]\M2M\WD>H'3A,MRS#
M^W^315E^F7ZKIN'-Q_=__CI=IHOYLKJ*O_RHOUQ72GJA-*_=5+,4];HZ6?#"
MU>Y87!7EBQ:\3?;! 8M]*474>\%J?EH9=P_C^O_;\DCR9XK$.H[$\=J4' 5$
MHPJ(C#(GAYH\LQ&P^W.%(YO4UE#9"YH'RFWL]KR/>EN"<;DMIM4\HQ>>U?)R
MVJPH% #GR<U&;I53.;/BV7-NYJXOZQE2AXIXWI#?'=BS 3)69#"82I"U/EN
M,M'5:>@!A$G1I,(8XYVE'KU[:<7+QVS:)T; .6/^:B+Q^M,;8Q@G5HALN3:0
MW%KIC0 7Z#M#VIY<-)GSG1JAGC!-]A%2SC0#YT L#I;L.@0P>M&,^#P#XET&
M7&^&=8#H^T+_^NM\MMDF<9'HKR:2:5UG2H%#=* P(#AK0ITN:F-PEFG;IB]+
M.YK.-#ME0%T9'RJ]*,TA@MA8B[?+Y>6-.A0=4D*3)21E%2C!"SCF,N1H><B&
M3(COK SQ(3+.-$]CY&WD:$"<LS;<V4._A^E%]6U_FR_6MT43GD/,)I,(K,$J
M$4\^+DN ])W2S"K,(_6C.Y"B,TUAZ,O5.@HF?;=3?CNC;_%3^ L/NAN\^<\'
MO/-[=%4#W>5=/__G&>#UQ4LR:(.)'(0S&I1B$GS@]<JXY*B\\IC;Y#L\L:AC
M[>4#C_Y$K/R%_N:_)YS"ALBX!U;J>,OL$'QV!C*3T7"3F7-MG.:G5C5NB#@4
M/NX:I,'D<#9&97UT=*QIV3ZDC8%Y:(4G,#.FH+ R<% I&%"$'@@ET1:2@[3%
M4.0>3J9UPR<3U/UV/EMGZY3K%[[YJ^[!^ L)I4Q7:[[_1'^,41$_ L5CBM>2
MQ 2Q)NF4PC,K,A?'&AWP'K[H?HW4/NAZ/'N@K11[B".N27U3"M;I"7A-YX>P
M(L.7YK,TO9BNA7J'UCI&TP@5P.I4Z@V/@2BU!!5L29D[+6*;#*!C5CWN<5)[
MR#:68U>8_76[ "+RU7*)J^6K&05.(1*=J^EV8_M)I@T4Q1OOP-8I<$K&#$%$
M!AJ9C3I&KF2CT/:P!8][NM,>J>VD=S;.X1^!0O&JK$=DIS[UN#8.X].K/H'K
MF(VC_Y@"8X,%582%P+T&PY6P5J5L&]V%-W0=WW_#RM39YW?SY?(U<9ADL$XZ
M7VX[9Y=H<V("G"U$<V(.O**HRS%2#!]5CD(UH?F9A?7K NZ#DKM6:DAI=+!E
M7K-I>VFZ^K%.]<I!1?160D$K*."6'+Q,&6P1(22FA&=M,I8?7L^X4!I4Y(\=
M>QS._RY1=#7-78@B-9(_8#0CUE@/T0<)&)C60BF>4IO$C,=6U(E1.D+:SP+H
M -9W "%:=9W+F%[/+V>KQ8]M-I^IJ8*16"%%(G_2&X00> 9M;#(NHW"FS8GS
M@\OI#3R'2'H^--L[P,Y'$D*=D/.._O+B?UXNILL\354L6W($"U'I:,#ZVM^.
MBYH3*HE+4JI NA4I4&D3WSV]L$Y.'(;$TY"BZ !9OV)<_:ROW(P/PRA3= 52
MP@S*:=KM?6WHC8PK[IWRC;:T^VL9%S\MW:(C^=X=<F[,[<J\$#]HG\\V25!,
MD&U%$G@6A/_(O=(^G0 _O<SF.U;23P+G0+:/75?R9_B1OF#Z[S\7\Q6NK2=]
M]WD1OKY^]>'-QU=IM36FA7Q#GF(D]GCR&P-QRPM?(/M"[(O)6[QSS/Y(;<F.
M+^P)*8>*=MZ8SQV8GL<-\[OKW"%-.WI)M+V7F,DXRX 0A0V07? Z:N,=MDES
MW&%QXQYOM]S6AI9,!V#[YVR!:?YY5M/MR9?<WGTNKYW+/W$6+NJI/3F%;V?T
M7@HW7J6TN,0\(2>3H:UQ;_1DZ)&82@1*<!$5D@_*?*/^*4<LNM>CJ ,!-!]'
MFAT ]W%63D(2UCO!(#%) 1#I._@0+'#MC),F9R/:C 5_?$V]NOK#P&X@672
MJGM7ET^01HY)289)B"IY(JW03A(DAU D>L?0L-BFA=P>B^QU+QX&=ZVD-6K?
MU+5KNP=E?\X7:WE>I7*_*J0.K[Y]NYBFM:#?E[<?7G_<^,?2B7?3K],- D@Y
MR;:+HHC97))CG/AZ7DL!EQ@F9H*R7.X4@)QDN>,F_+?"<J?B/B];_/$R_F\B
M^=/\S5_?IHLUN9.B$G*M/:EY+8-3&"#8VA$M&2)=ZH2ES1WH<>L>MR]?1Q;[
M6)GVA> ;^4\3B;6;14Q@0JCWA6C T28$'(M3F)00KDUZY</KV0EQY@4@[E 9
MC'V>N.V;LK@BY<_P@QY_L4[9NJ+IQ]69UP2MLTR*0/34RS]E"H1(]AXU2U[$
M%%BT.VWJ>[UV)Q#9<P-18_:/#:P_%_.$F)>_$4,?/4R=%.%"+%Q"-HR,+B?W
M.023@.G$/#HO8U8[ 6JGU^T$)'>60!J>W6>3#_NSWF*8A-C[SVN3$?O,ND^0
M$NL\R\JH6AM,7Y05#)RR$M!JFUV,*8LVR0\-4V)?7RZJ,CY2>/-Z/B,-O"0E
MW&HCQ2[7[!#:I<Q%(7MJ*8Q/+H-7.0#GSA>GF66-)FH>ON9.THZ.Q-9=O^I$
M,NS B]]2>BLUYA[!$QL%3P(%I%K#KPI&B'5_0.Y99$$FVC5: O/IY8V+P5-A
MY6&(#BBX#M!XY84>PDR^'L4<##'3%_)-:R\4%2TD6WA&%;.SK7)7#EYT)TEV
M UO/4TFQ(\#^AB2J</$(Q1/-8Y+)UI%FM:C#N@@AEPA<6BM4=J+$-E7CNZUO
M[-R9$\'E$9@.*+L.$/D8&4Y(X6Q4($VFT)T7!D%XA)"8RTI[PD^;.M)C,#=*
MG>@QIF\([A\.HODJ7)PP[KU=GCU,[/OP,]O$OSNL_P0QL&!!,[(EX+PA$X;(
M((;$09B@O;2!OK;)=FL8 ^]2SO]JM36\U86]I.?]N/7'$R=#DDP'XD;,0&ZQ
M@J"=!V.,<Y8'IG2;/7. Q?<;%>^#MGM]\D\LU0YVTUU(OA6"W3 O$UVDLBDF
M0*40%-.UP:^.4$T?E]$KWR@B.6;5_88DK:$[B!S/!+.OO]1>BF]G]ZZLZ\"U
MC;0O+N;_#K.$$_*%5% B0"JU.1 GI\@%)R"7P+DI 75H<_@S,"']>IRMD=U*
MVF<"]O7DP5?Y?U\N5^MY"9,L>;1.('"3-2@A(_C$(T09M98^6>;;Y- >LMIQ
M,\/&A.U1<NL6FP^=9TQ2Y%;&4,#J3%HGE0 O4$'.EGM/VP^*4SJ[#ZUQW-RM
MT^+P:!F=30S_";]^FR_"XL>O4^($22+A0+?83SVY44O076DY051?;"J9V *9
MZUJL;@P$9B*0+VDR!A^C:MQ<9/BH_I[[4-^R_=WVO.L#"7/Q?5V"LRZ]"1>;
MN;\3S$RA40:\,Q3WF416VQH!'*UUTG 4YD0)J[LONM\H?A]T/9NEVDB*'6S
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
MD0QSCOO09J1-'\,56^+CT:&)^_"\BX[ OR_FR^5F$N#$>J=ML **L.0E%Y[
MUXQH7Y@Q-BAB01O W%C$N-<CI\3,H9SOX#;D#UQMIB;5'G\3(Z4K47)(,N7:
M"32"]]9 LHJSD$/*C9K]W%K&N#<-IP3.X=SO #IOPF(VG7U>_HF+CU^(M;^$
MY31-LD'#F+ 09-:@6!00T&3@P1O)C45V=SKK0!!Z<#GCYD^>$DK'2Z-#2/TZ
MO;A<89X(QWBLJ3Q&6;<QJBX152)P3T0X&^ZFHC0"U79!XR9&C0FK0R32(;#6
MVO%JEK?DK*<'_N3<SX9M+ >#V00(]2Y95:Y%(21@)&-L'1<AGM":/;_@<5M3
MCV[O!I9H!\#]+YQ^_D+TO*)((7S&/R[7&0=E3?+R_>5JN0JS3'S8F'NRZ<(K
M7@!Y7I]<!W""68@4R.2LM#>EC?^VUS+'#29/ ISYJ:38+T2W_+Q'X\09AQZE
MI+U",=HZE*W==R7I?\3 HE%9MFFPNN="QXU?.X+I()+L_(QW>\;]]NW5=_/R
MKW!QN:D]F&7:V2ZFY0<1_2JE=0[D0<>\^[]ER)/>(VD\\K"W5HA<O^[50Z^[
MQC :*[TS'&P2JN;R$9I-#+5?E$&9@Q1FIU;J.Q50[;:F8<KSGW[70ZW*M12!
M5"R!9)$4JV;_!,YH0V#6:YTY=V(X5ARQT/&JCAI@ZN%*_+;">VGV\9C;L(-?
M-JJU;'%#M@? <XG6%1,A$'I !6DA%$?!%+J<Z*<BQ'!]/-H;S9VU;5WU99UA
MR08.14?2;A<%>)X,Z**BU-$;L=MD\@&(O[.T[@WC/KBY:1C;":B#F.8G<1<7
M\W^'6<*:-?N!A+?XCLM/])1UE;-*&H63$80,M<)5:W"><^ I*%^#..)DDU!F
MM_7UBKVCP#%O+JGN\;>MKT:?A<]<@I<$$N6\VJ3WV,2<M$FFI-I<\NZRNG$/
M>5J@8B_@'2"B#F!W3<IO\\5F7G*]F-R6W>O"I9%2U;(E73-O _@2JW.;,47C
ML,0VES!/K:IGF!V"@7DC@70 KMIO:$9_\N.::UM&79'C,!3K:R=.F6OS(01O
M->T"P4GO69UGVV8S?69AXYX#-H?8D&+I &7W^56'56Z6\BG\]6JYQ-65 OED
M$_?.@O#%@/+H("3G(/ED9";G QNEN^RQR'&389JCKY6X1FX)M:O_^^ZZ?KDP
MI;0M&4C!?%4S 8&74D><U+ZER0?<J4AHT CVW5Z=8 :W@:>))-K+JP.S^(_Y
M=]Q,C7]:I3_,+R[(U_AW6.2)8C+&H@P4-+[V2F?@LR(-U]Z@*2+X5)J8QP,6
MVW^H>R!TYJ>58P=0?9JP7\)%_=6$^"0I?#/DEE0F.I\@BJ#KE <A<W2QU5S*
MG98W;EC2'"1[A<*'2.Q@&'[#Q72>U_,?3@#&UU_"XC,Y*O/7\^6*?O_FKV\X
M6^)$6NN98>0NK[O$<^W!(S+@$DO.B%+>;?5W$G ^LMQQ YR^P#J$1+NWH;]B
MOMRT&INX2 RSD0%I8@$EF %G0J!=B3E+H9]SIDTIU:XK'#?^Z0N<!\JM>SQ>
M[1!:V%)0%"C.D?=>^Y03RRC>*][21U(7;-,(<[@]O5DM05](/$1B1^[I;V9Y
MERR'[0?U2PQ+_'_^K_\?4$L#!!0    ( &! <51X&2]L)P(  "4)   4
M97@R,3$M,3!X:S$R,S$R,2YH=&WM5E%OFS 0?M^O<*FVOH08"$HW0I&6D*I(
M+*T2JFQ/D\&7Q"K@R';"LE\_ XVV*<VZ25.SA_%@8?N^N^_SV3[[9^'M*/ET
M-T8K5>3H[GX81R-DF!C/>R.,PR1$-\F'&+E=RT:)(*5DBO&2Y!B/)P8R5DJM
M/8RKJNI6O2X72YQ,<>W*Q3GG$KI442/PZQ'= J'!*__,-%'(LTT!I4*9 **
MHHUDY1+-*<@'9)J/5B.^W@FV7"GD6(Z#YEP\L"UIYQ53.01[/SYN^SYN@O@I
MI[O IVR+&+TRF.M<VM1ZYY#L;>92VTE)ZO;!<GM.+Z6VY7RV-4FLS5N,5+L<
MKHR"E>8*ZOA>K[]6@XI1M?)LRWIM-':!O^"ETL&$!K>_K8\#3PJ^*)/D;%EZ
MC1ZCA>ZG,YYSX9U;S3>H9\P%*5B^\RX25H!$$ZC0E!>DO.A(G0-3@F"+UE"R
MKZ Y:7I-MVKY7FH_.2MAS]]V:M+CCS?1,$J08W?MGQD_S373*PO".*KS-U O
M+7%V/YQ%8?1^&HUG?TGB*80,&HH4,BY(?>"\34E!U%9&,"$%[$F>8HG?G-M]
M:_#R[>DT_RH;,<^:L?\9^5<R$O*ZE SKB@)2(B*/G.C3G';WZ9NY!+'<H6M=
MSB2*QR&:\7Q3"Y,=%,>C/TV,1O.R@VY7C)]J;SRCZ.C=_&/!7?/VN>$)R'6:
MMW!0@O>HE"O%"\_Z#B&IK ,>0IZIVH]M^X!HGC+!-U!+ P04    " !@0'%4
M AW6-+ #  !H#   %    &5X,C,Q+3$P>&LQ,C,Q,C$N:'1MW5=M;]LV$/Z^
M7W%UL*0!+$N4%+_70"([J;'$SFP5V3X-M$1)7"52H.BXVJ\?*<FI"P?MEF[%
M5G\@CKKGWH]'>OQJNO3\7^]GD,@LA?MW5[=S#UJ&:3XXGFE._2F\]>]NP>U8
M"'R!64$EY0RGICE;M*"52)D/37.WVW5V3H>+V/17IE;EFBGG!>F$,FQ-QOJ+
M6@D.)S^,7QD&3'FPS0B3$ B")0EA6U 6PT-(BO=@& W*XWDI:)Q(L"W;A@<N
MWM-'7/,EE2F9[/6,S7H_-BLCXPT/R\DXI(] PS<M:O<W833 T84;#5R,>H,^
M&B!,4-<-0AP&Y#>DG#05O)8I9)F2-ZV,,B,AVO[0Z>9RM*.A3(;(LGYL5;C)
M..),*F-""==DK>-(DR0?I(%3&K-A%4^K%MVS YYR,3RQJM](<XP(9S0MAV<^
MS4@!"[*#%<\P.VL7J@9&002-:F!!_R#*)^5>M=W5_O:4GI0RLO<?V=KIV2]O
MYU=S'VRG@S[U^'/1'&8$BU@E9<.EY-FPKXP>1!:H.A#Q[4-S=&C><K&>+7Q8
M7L-\,9W=S]2BMJO9S7SMSU:SZ;ZW+SUO^6[ASQ<W<#U?W;TH#0=!_[XM)(W*
MUE>)_7O)<I_O T9$7,*U.CQ%&^8LZ/SW?5XK.ZP-RX3R[[8N#P02(LBFA("S
M0H]'R4$F!"@+N,BYP'KX@N(+$BD@"S2K0JQ(3 O9 -92S50]%@M0NVLN,E@;
M"%XO> <<QS%LI]=%[GD;, OW;$>SBX;?10/KHN(^;;OGA^C^(=H=V#V[7=-H
MT+<N&MKJ6OU^3:-!S[7M/>U8MMO0?=>R^T^64%>I<L^!1W#<H_!:!WIZXK@C
MCV<Y9F5%5VB^%2HG*D,2PNH^N<,B2$Y/4-<:H5Z[NC_:"I&J!*E[IDFKSC)/
M:2T148990'&JJOZ4/NW8,PPH@H2$VY2T89?0( &<YP2+?3$:]\X*N&1LJP17
MM6M-,?:-^!=;[%(HVU_76/ W3?ZC78TLXR>(N*A24^HT$1:JA$])0+(-$>"@
MJD!(EZ5.ITQH\70&%!G15 E@70\@'Q*ZH;(#RX\U5U")*6OX>8H9EER4D&.!
M8X'S1 %C+,*J]I\4"&]H2F6I36LEE&U)90=BKL'J6T $.YZ/_ZNY<GKB]D9%
MM<+-U<]PCX54QTN=J]M;[[N=IAY/M]E&3X^771K?VM]G1A:\J.\.WZPYKU_L
MPWKV/9*C5^Q>JGG461]%\$9-QZT\%OG"P[=9ZS=X]6]@\B=02P,$%     @
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
MI+Z^91W&SY\=MUM' _N8.$[\14=180A-:V1APSE2;1W>T"DS1K$1AOBS ,O
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
M82UC2IGCX'#-<*;#,R<)+'+\Q1P: _RV2>[3(_+V=7\NBH\=;4E38OK"O0\
MUZG15A+O>@F98GY<Z/TEG_AFL'X6GR_LAY33_P!02P$"% ,4    " !@0'%4
M?UO+C#F+ P!EI2$ $0              @ $     969O:2TR,#(Q,3(S,2YH
M=&U02P$"% ,4    " !@0'%44+!Q+<L9   ;+P$ $0              @ %H
MBP, 969O:2TR,#(Q,3(S,2YX<V102P$"% ,4    " !@0'%4)E@(7<DE  !"
M?0$ %0              @ %BI0, 969O:2TR,#(Q,3(S,5]C86PN>&UL4$L!
M A0#%     @ 8$!Q5"?&RT.FE   ^IP& !4              ( !7LL# &5F
M;VDM,C R,3$R,S%?9&5F+GAM;%!+ 0(4 Q0    ( &! <51PW^R12$ ! !MF
M#0 5              "  3=@! !E9F]I+3(P,C$Q,C,Q7VQA8BYX;6Q02P$"
M% ,4    " !@0'%4P,]@X@[>  "4.0H %0              @ &RH 4 969O
M:2TR,#(Q,3(S,5]P<F4N>&UL4$L! A0#%     @ 8$!Q5'@9+VPG @  )0D
M !0              ( !\WX& &5X,C$Q+3$P>&LQ,C,Q,C$N:'1M4$L! A0#
M%     @ 8$!Q5 (=UC2P P  : P  !0              ( !3($& &5X,C,Q
M+3$P>&LQ,C,Q,C$N:'1M4$L! A0#%     @ 8$!Q5,"P1F$P"   <2T  !0
M             ( !+H4& &5X,S$Q+3$P>&LQ,C,Q,C$N:'1M4$L! A0#%
M  @ 8$!Q5 &HSY@<"   ^2P  !0              ( !D(T& &5X,S$R+3$P
M>&LQ,C,Q,C$N:'1M4$L! A0#%     @ 8$!Q5 ;V1_]K!0  HQD  !0
M         ( !WI4& &5X,S(Q+3$P>&LQ,C,Q,C$N:'1M4$L%!@     +  L
*U (  'N;!@    $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
